// $ANTLR 3.4 D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g 2013-01-22 15:47:33

package antlr.output; 

import com.oop.example.processing.ParseError;


import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

@SuppressWarnings({"all", "warnings", "unchecked"})
public class MultiFarLexer extends Lexer {
    public static final int EOF=-1;
    public static final int ALTERNAT_HEADER=4;
    public static final int ANY_CHAR=5;
    public static final int COLON=6;
    public static final int COMMA=7;
    public static final int COMMENT=8;
    public static final int COMMENT_IN_SIMPLE=9;
    public static final int CUSTOM=10;
    public static final int DATE=11;
    public static final int DOT=12;
    public static final int DOUBLESHARP=13;
    public static final int EXAMPLE=14;
    public static final int EXAMPLE_BODY=15;
    public static final int EXAMPLE_END=16;
    public static final int EXAMPLE_HEADER=17;
    public static final int FIXED_EXAMPLE=18;
    public static final int HEADER=19;
    public static final int HOMONYM=20;
    public static final int ITALIC_IN_SIMPLE=21;
    public static final int LABEL=22;
    public static final int LONG_SLASH=23;
    public static final int L_BRACKET=24;
    public static final int L_PARENTHESIS=25;
    public static final int L_TRIANGULAR=26;
    public static final int NOTCOMMENT=27;
    public static final int NO_CHAR=28;
    public static final int NUMERATION=29;
    public static final int NUM_FIXED_EXAMPLE=30;
    public static final int PART_IRREG=31;
    public static final int PLUS=32;
    public static final int PORTU_LETER=33;
    public static final int PORTU_WORD=34;
    public static final int PROC=35;
    public static final int REFERENCE=36;
    public static final int REF_CLAS=37;
    public static final int R_BRACKET=38;
    public static final int R_PARENTHESIS=39;
    public static final int R_TRIANGULAR=40;
    public static final int SEMI=41;
    public static final int SHARP=42;
    public static final int SIMPLE=43;
    public static final int SIN=44;
    public static final int SLASH=45;
    public static final int STAR=46;
    public static final int SUB_NUMERATION=47;
    public static final int SUP=48;
    public static final int TERE=49;
    public static final int TOCLASSIF=50;
    public static final int TRANSCRIPTION=51;
    public static final int VAR=52;
    public static final int VEJA=53;
    public static final int WS=54;

      @Override
      public void reportError(RecognitionException e) {
        throw new ParseError(e.charPositionInLine, "error");
      }


    // delegates
    // delegators
    public Lexer[] getDelegates() {
        return new Lexer[] {};
    }

    public MultiFarLexer() {} 
    public MultiFarLexer(CharStream input) {
        this(input, new RecognizerSharedState());
    }
    public MultiFarLexer(CharStream input, RecognizerSharedState state) {
        super(input,state);
    }
    public String getGrammarFileName() { return "D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g"; }

    // $ANTLR start "HEADER"
    public final void mHEADER() throws RecognitionException {
        try {
            int _type = HEADER;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:36:17: ( '<b style=\\'color:aqua\\'>' ( '\\u00a1' | '!' | PORTU_LETER | DOT )+ ( SUP )? ( COMMA WS TERE ( PORTU_LETER )+ )? '</b>' )
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:36:19: '<b style=\\'color:aqua\\'>' ( '\\u00a1' | '!' | PORTU_LETER | DOT )+ ( SUP )? ( COMMA WS TERE ( PORTU_LETER )+ )? '</b>'
            {
            match("<b style='color:aqua'>"); 



            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:36:46: ( '\\u00a1' | '!' | PORTU_LETER | DOT )+
            int cnt1=0;
            loop1:
            do {
                int alt1=2;
                int LA1_0 = input.LA(1);

                if ( (LA1_0=='!'||LA1_0=='.'||(LA1_0 >= 'A' && LA1_0 <= 'Z')||(LA1_0 >= 'a' && LA1_0 <= 'z')||LA1_0=='\u00A1'||LA1_0=='\u00AA'||LA1_0=='\u00BA'||(LA1_0 >= '\u00C0' && LA1_0 <= '\u00C3')||(LA1_0 >= '\u00C7' && LA1_0 <= '\u00CA')||(LA1_0 >= '\u00CC' && LA1_0 <= '\u00CD')||LA1_0=='\u00CF'||(LA1_0 >= '\u00D1' && LA1_0 <= '\u00D5')||(LA1_0 >= '\u00D9' && LA1_0 <= '\u00DA')||LA1_0=='\u00DC'||(LA1_0 >= '\u00E0' && LA1_0 <= '\u00E3')||(LA1_0 >= '\u00E7' && LA1_0 <= '\u00EA')||(LA1_0 >= '\u00EC' && LA1_0 <= '\u00ED')||LA1_0=='\u00EF'||(LA1_0 >= '\u00F1' && LA1_0 <= '\u00F5')||(LA1_0 >= '\u00F9' && LA1_0 <= '\u00FA')||LA1_0=='\u00FC'||LA1_0=='\u0304'||LA1_0=='\u2019') ) {
                    alt1=1;
                }


                switch (alt1) {
            	case 1 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:
            	    {
            	    if ( input.LA(1)=='!'||input.LA(1)=='.'||(input.LA(1) >= 'A' && input.LA(1) <= 'Z')||(input.LA(1) >= 'a' && input.LA(1) <= 'z')||input.LA(1)=='\u00A1'||input.LA(1)=='\u00AA'||input.LA(1)=='\u00BA'||(input.LA(1) >= '\u00C0' && input.LA(1) <= '\u00C3')||(input.LA(1) >= '\u00C7' && input.LA(1) <= '\u00CA')||(input.LA(1) >= '\u00CC' && input.LA(1) <= '\u00CD')||input.LA(1)=='\u00CF'||(input.LA(1) >= '\u00D1' && input.LA(1) <= '\u00D5')||(input.LA(1) >= '\u00D9' && input.LA(1) <= '\u00DA')||input.LA(1)=='\u00DC'||(input.LA(1) >= '\u00E0' && input.LA(1) <= '\u00E3')||(input.LA(1) >= '\u00E7' && input.LA(1) <= '\u00EA')||(input.LA(1) >= '\u00EC' && input.LA(1) <= '\u00ED')||input.LA(1)=='\u00EF'||(input.LA(1) >= '\u00F1' && input.LA(1) <= '\u00F5')||(input.LA(1) >= '\u00F9' && input.LA(1) <= '\u00FA')||input.LA(1)=='\u00FC'||input.LA(1)=='\u0304'||input.LA(1)=='\u2019' ) {
            	        input.consume();
            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;
            	    }


            	    }
            	    break;

            	default :
            	    if ( cnt1 >= 1 ) break loop1;
                        EarlyExitException eee =
                            new EarlyExitException(1, input);
                        throw eee;
                }
                cnt1++;
            } while (true);


            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:36:78: ( SUP )?
            int alt2=2;
            int LA2_0 = input.LA(1);

            if ( (LA2_0=='<') ) {
                int LA2_1 = input.LA(2);

                if ( (LA2_1=='s') ) {
                    alt2=1;
                }
            }
            switch (alt2) {
                case 1 :
                    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:36:78: SUP
                    {
                    mSUP(); 


                    }
                    break;

            }


            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:36:83: ( COMMA WS TERE ( PORTU_LETER )+ )?
            int alt4=2;
            int LA4_0 = input.LA(1);

            if ( (LA4_0==',') ) {
                alt4=1;
            }
            switch (alt4) {
                case 1 :
                    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:36:84: COMMA WS TERE ( PORTU_LETER )+
                    {
                    mCOMMA(); 


                    mWS(); 


                    mTERE(); 


                    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:36:98: ( PORTU_LETER )+
                    int cnt3=0;
                    loop3:
                    do {
                        int alt3=2;
                        int LA3_0 = input.LA(1);

                        if ( ((LA3_0 >= 'A' && LA3_0 <= 'Z')||(LA3_0 >= 'a' && LA3_0 <= 'z')||LA3_0=='\u00AA'||LA3_0=='\u00BA'||(LA3_0 >= '\u00C0' && LA3_0 <= '\u00C3')||(LA3_0 >= '\u00C7' && LA3_0 <= '\u00CA')||(LA3_0 >= '\u00CC' && LA3_0 <= '\u00CD')||LA3_0=='\u00CF'||(LA3_0 >= '\u00D1' && LA3_0 <= '\u00D5')||(LA3_0 >= '\u00D9' && LA3_0 <= '\u00DA')||LA3_0=='\u00DC'||(LA3_0 >= '\u00E0' && LA3_0 <= '\u00E3')||(LA3_0 >= '\u00E7' && LA3_0 <= '\u00EA')||(LA3_0 >= '\u00EC' && LA3_0 <= '\u00ED')||LA3_0=='\u00EF'||(LA3_0 >= '\u00F1' && LA3_0 <= '\u00F5')||(LA3_0 >= '\u00F9' && LA3_0 <= '\u00FA')||LA3_0=='\u00FC'||LA3_0=='\u0304'||LA3_0=='\u2019') ) {
                            alt3=1;
                        }


                        switch (alt3) {
                    	case 1 :
                    	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:
                    	    {
                    	    if ( (input.LA(1) >= 'A' && input.LA(1) <= 'Z')||(input.LA(1) >= 'a' && input.LA(1) <= 'z')||input.LA(1)=='\u00AA'||input.LA(1)=='\u00BA'||(input.LA(1) >= '\u00C0' && input.LA(1) <= '\u00C3')||(input.LA(1) >= '\u00C7' && input.LA(1) <= '\u00CA')||(input.LA(1) >= '\u00CC' && input.LA(1) <= '\u00CD')||input.LA(1)=='\u00CF'||(input.LA(1) >= '\u00D1' && input.LA(1) <= '\u00D5')||(input.LA(1) >= '\u00D9' && input.LA(1) <= '\u00DA')||input.LA(1)=='\u00DC'||(input.LA(1) >= '\u00E0' && input.LA(1) <= '\u00E3')||(input.LA(1) >= '\u00E7' && input.LA(1) <= '\u00EA')||(input.LA(1) >= '\u00EC' && input.LA(1) <= '\u00ED')||input.LA(1)=='\u00EF'||(input.LA(1) >= '\u00F1' && input.LA(1) <= '\u00F5')||(input.LA(1) >= '\u00F9' && input.LA(1) <= '\u00FA')||input.LA(1)=='\u00FC'||input.LA(1)=='\u0304'||input.LA(1)=='\u2019' ) {
                    	        input.consume();
                    	    }
                    	    else {
                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
                    	        recover(mse);
                    	        throw mse;
                    	    }


                    	    }
                    	    break;

                    	default :
                    	    if ( cnt3 >= 1 ) break loop3;
                                EarlyExitException eee =
                                    new EarlyExitException(3, input);
                                throw eee;
                        }
                        cnt3++;
                    } while (true);


                    }
                    break;

            }


            match("</b>"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "HEADER"

    // $ANTLR start "ALTERNAT_HEADER"
    public final void mALTERNAT_HEADER() throws RecognitionException {
        try {
            int _type = ALTERNAT_HEADER;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:37:17: ( '<b style=\\'color:aqua\\'>' ( '\\u00a1' | '!' | PORTU_LETER | DOT )+ ( SUP )? ( COMMA WS ( PORTU_LETER )+ )? '</b>' )
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:37:19: '<b style=\\'color:aqua\\'>' ( '\\u00a1' | '!' | PORTU_LETER | DOT )+ ( SUP )? ( COMMA WS ( PORTU_LETER )+ )? '</b>'
            {
            match("<b style='color:aqua'>"); 



            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:37:46: ( '\\u00a1' | '!' | PORTU_LETER | DOT )+
            int cnt5=0;
            loop5:
            do {
                int alt5=2;
                int LA5_0 = input.LA(1);

                if ( (LA5_0=='!'||LA5_0=='.'||(LA5_0 >= 'A' && LA5_0 <= 'Z')||(LA5_0 >= 'a' && LA5_0 <= 'z')||LA5_0=='\u00A1'||LA5_0=='\u00AA'||LA5_0=='\u00BA'||(LA5_0 >= '\u00C0' && LA5_0 <= '\u00C3')||(LA5_0 >= '\u00C7' && LA5_0 <= '\u00CA')||(LA5_0 >= '\u00CC' && LA5_0 <= '\u00CD')||LA5_0=='\u00CF'||(LA5_0 >= '\u00D1' && LA5_0 <= '\u00D5')||(LA5_0 >= '\u00D9' && LA5_0 <= '\u00DA')||LA5_0=='\u00DC'||(LA5_0 >= '\u00E0' && LA5_0 <= '\u00E3')||(LA5_0 >= '\u00E7' && LA5_0 <= '\u00EA')||(LA5_0 >= '\u00EC' && LA5_0 <= '\u00ED')||LA5_0=='\u00EF'||(LA5_0 >= '\u00F1' && LA5_0 <= '\u00F5')||(LA5_0 >= '\u00F9' && LA5_0 <= '\u00FA')||LA5_0=='\u00FC'||LA5_0=='\u0304'||LA5_0=='\u2019') ) {
                    alt5=1;
                }


                switch (alt5) {
            	case 1 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:
            	    {
            	    if ( input.LA(1)=='!'||input.LA(1)=='.'||(input.LA(1) >= 'A' && input.LA(1) <= 'Z')||(input.LA(1) >= 'a' && input.LA(1) <= 'z')||input.LA(1)=='\u00A1'||input.LA(1)=='\u00AA'||input.LA(1)=='\u00BA'||(input.LA(1) >= '\u00C0' && input.LA(1) <= '\u00C3')||(input.LA(1) >= '\u00C7' && input.LA(1) <= '\u00CA')||(input.LA(1) >= '\u00CC' && input.LA(1) <= '\u00CD')||input.LA(1)=='\u00CF'||(input.LA(1) >= '\u00D1' && input.LA(1) <= '\u00D5')||(input.LA(1) >= '\u00D9' && input.LA(1) <= '\u00DA')||input.LA(1)=='\u00DC'||(input.LA(1) >= '\u00E0' && input.LA(1) <= '\u00E3')||(input.LA(1) >= '\u00E7' && input.LA(1) <= '\u00EA')||(input.LA(1) >= '\u00EC' && input.LA(1) <= '\u00ED')||input.LA(1)=='\u00EF'||(input.LA(1) >= '\u00F1' && input.LA(1) <= '\u00F5')||(input.LA(1) >= '\u00F9' && input.LA(1) <= '\u00FA')||input.LA(1)=='\u00FC'||input.LA(1)=='\u0304'||input.LA(1)=='\u2019' ) {
            	        input.consume();
            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;
            	    }


            	    }
            	    break;

            	default :
            	    if ( cnt5 >= 1 ) break loop5;
                        EarlyExitException eee =
                            new EarlyExitException(5, input);
                        throw eee;
                }
                cnt5++;
            } while (true);


            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:37:78: ( SUP )?
            int alt6=2;
            int LA6_0 = input.LA(1);

            if ( (LA6_0=='<') ) {
                int LA6_1 = input.LA(2);

                if ( (LA6_1=='s') ) {
                    alt6=1;
                }
            }
            switch (alt6) {
                case 1 :
                    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:37:78: SUP
                    {
                    mSUP(); 


                    }
                    break;

            }


            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:37:83: ( COMMA WS ( PORTU_LETER )+ )?
            int alt8=2;
            int LA8_0 = input.LA(1);

            if ( (LA8_0==',') ) {
                alt8=1;
            }
            switch (alt8) {
                case 1 :
                    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:37:84: COMMA WS ( PORTU_LETER )+
                    {
                    mCOMMA(); 


                    mWS(); 


                    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:37:93: ( PORTU_LETER )+
                    int cnt7=0;
                    loop7:
                    do {
                        int alt7=2;
                        int LA7_0 = input.LA(1);

                        if ( ((LA7_0 >= 'A' && LA7_0 <= 'Z')||(LA7_0 >= 'a' && LA7_0 <= 'z')||LA7_0=='\u00AA'||LA7_0=='\u00BA'||(LA7_0 >= '\u00C0' && LA7_0 <= '\u00C3')||(LA7_0 >= '\u00C7' && LA7_0 <= '\u00CA')||(LA7_0 >= '\u00CC' && LA7_0 <= '\u00CD')||LA7_0=='\u00CF'||(LA7_0 >= '\u00D1' && LA7_0 <= '\u00D5')||(LA7_0 >= '\u00D9' && LA7_0 <= '\u00DA')||LA7_0=='\u00DC'||(LA7_0 >= '\u00E0' && LA7_0 <= '\u00E3')||(LA7_0 >= '\u00E7' && LA7_0 <= '\u00EA')||(LA7_0 >= '\u00EC' && LA7_0 <= '\u00ED')||LA7_0=='\u00EF'||(LA7_0 >= '\u00F1' && LA7_0 <= '\u00F5')||(LA7_0 >= '\u00F9' && LA7_0 <= '\u00FA')||LA7_0=='\u00FC'||LA7_0=='\u0304'||LA7_0=='\u2019') ) {
                            alt7=1;
                        }


                        switch (alt7) {
                    	case 1 :
                    	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:
                    	    {
                    	    if ( (input.LA(1) >= 'A' && input.LA(1) <= 'Z')||(input.LA(1) >= 'a' && input.LA(1) <= 'z')||input.LA(1)=='\u00AA'||input.LA(1)=='\u00BA'||(input.LA(1) >= '\u00C0' && input.LA(1) <= '\u00C3')||(input.LA(1) >= '\u00C7' && input.LA(1) <= '\u00CA')||(input.LA(1) >= '\u00CC' && input.LA(1) <= '\u00CD')||input.LA(1)=='\u00CF'||(input.LA(1) >= '\u00D1' && input.LA(1) <= '\u00D5')||(input.LA(1) >= '\u00D9' && input.LA(1) <= '\u00DA')||input.LA(1)=='\u00DC'||(input.LA(1) >= '\u00E0' && input.LA(1) <= '\u00E3')||(input.LA(1) >= '\u00E7' && input.LA(1) <= '\u00EA')||(input.LA(1) >= '\u00EC' && input.LA(1) <= '\u00ED')||input.LA(1)=='\u00EF'||(input.LA(1) >= '\u00F1' && input.LA(1) <= '\u00F5')||(input.LA(1) >= '\u00F9' && input.LA(1) <= '\u00FA')||input.LA(1)=='\u00FC'||input.LA(1)=='\u0304'||input.LA(1)=='\u2019' ) {
                    	        input.consume();
                    	    }
                    	    else {
                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
                    	        recover(mse);
                    	        throw mse;
                    	    }


                    	    }
                    	    break;

                    	default :
                    	    if ( cnt7 >= 1 ) break loop7;
                                EarlyExitException eee =
                                    new EarlyExitException(7, input);
                                throw eee;
                        }
                        cnt7++;
                    } while (true);


                    }
                    break;

            }


            match("</b>"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "ALTERNAT_HEADER"

    // $ANTLR start "TRANSCRIPTION"
    public final void mTRANSCRIPTION() throws RecognitionException {
        try {
            int _type = TRANSCRIPTION;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:38:17: ( L_BRACKET ( COMMA | '\\u00E1' | '\\u00ED' | '\\u2019' | '<b>' | '</b>' | 'a' .. 'z' | '\\u00b4' | '\\u03b8' | '\\u03bb' | '\\u0283' | ':' | '\\u0304' | '\\u00f1' | L_PARENTHESIS | R_PARENTHESIS )+ R_BRACKET )
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:38:19: L_BRACKET ( COMMA | '\\u00E1' | '\\u00ED' | '\\u2019' | '<b>' | '</b>' | 'a' .. 'z' | '\\u00b4' | '\\u03b8' | '\\u03bb' | '\\u0283' | ':' | '\\u0304' | '\\u00f1' | L_PARENTHESIS | R_PARENTHESIS )+ R_BRACKET
            {
            mL_BRACKET(); 


            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:38:29: ( COMMA | '\\u00E1' | '\\u00ED' | '\\u2019' | '<b>' | '</b>' | 'a' .. 'z' | '\\u00b4' | '\\u03b8' | '\\u03bb' | '\\u0283' | ':' | '\\u0304' | '\\u00f1' | L_PARENTHESIS | R_PARENTHESIS )+
            int cnt9=0;
            loop9:
            do {
                int alt9=17;
                switch ( input.LA(1) ) {
                case ',':
                    {
                    alt9=1;
                    }
                    break;
                case '\u00E1':
                    {
                    alt9=2;
                    }
                    break;
                case '\u00ED':
                    {
                    alt9=3;
                    }
                    break;
                case '\u2019':
                    {
                    alt9=4;
                    }
                    break;
                case '<':
                    {
                    int LA9_6 = input.LA(2);

                    if ( (LA9_6=='b') ) {
                        alt9=5;
                    }
                    else if ( (LA9_6=='/') ) {
                        alt9=6;
                    }


                    }
                    break;
                case 'a':
                case 'b':
                case 'c':
                case 'd':
                case 'e':
                case 'f':
                case 'g':
                case 'h':
                case 'i':
                case 'j':
                case 'k':
                case 'l':
                case 'm':
                case 'n':
                case 'o':
                case 'p':
                case 'q':
                case 'r':
                case 's':
                case 't':
                case 'u':
                case 'v':
                case 'w':
                case 'x':
                case 'y':
                case 'z':
                    {
                    alt9=7;
                    }
                    break;
                case '\u00B4':
                    {
                    alt9=8;
                    }
                    break;
                case '\u03B8':
                    {
                    alt9=9;
                    }
                    break;
                case '\u03BB':
                    {
                    alt9=10;
                    }
                    break;
                case '\u0283':
                    {
                    alt9=11;
                    }
                    break;
                case ':':
                    {
                    alt9=12;
                    }
                    break;
                case '\u0304':
                    {
                    alt9=13;
                    }
                    break;
                case '\u00F1':
                    {
                    alt9=14;
                    }
                    break;
                case '(':
                    {
                    alt9=15;
                    }
                    break;
                case ')':
                    {
                    alt9=16;
                    }
                    break;

                }

                switch (alt9) {
            	case 1 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:38:30: COMMA
            	    {
            	    mCOMMA(); 


            	    }
            	    break;
            	case 2 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:38:36: '\\u00E1'
            	    {
            	    match('\u00E1'); 

            	    }
            	    break;
            	case 3 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:38:45: '\\u00ED'
            	    {
            	    match('\u00ED'); 

            	    }
            	    break;
            	case 4 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:38:54: '\\u2019'
            	    {
            	    match('\u2019'); 

            	    }
            	    break;
            	case 5 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:38:63: '<b>'
            	    {
            	    match("<b>"); 



            	    }
            	    break;
            	case 6 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:38:69: '</b>'
            	    {
            	    match("</b>"); 



            	    }
            	    break;
            	case 7 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:38:76: 'a' .. 'z'
            	    {
            	    matchRange('a','z'); 

            	    }
            	    break;
            	case 8 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:38:85: '\\u00b4'
            	    {
            	    match('\u00B4'); 

            	    }
            	    break;
            	case 9 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:38:94: '\\u03b8'
            	    {
            	    match('\u03B8'); 

            	    }
            	    break;
            	case 10 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:38:103: '\\u03bb'
            	    {
            	    match('\u03BB'); 

            	    }
            	    break;
            	case 11 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:38:112: '\\u0283'
            	    {
            	    match('\u0283'); 

            	    }
            	    break;
            	case 12 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:38:121: ':'
            	    {
            	    match(':'); 

            	    }
            	    break;
            	case 13 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:38:125: '\\u0304'
            	    {
            	    match('\u0304'); 

            	    }
            	    break;
            	case 14 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:38:134: '\\u00f1'
            	    {
            	    match('\u00F1'); 

            	    }
            	    break;
            	case 15 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:38:143: L_PARENTHESIS
            	    {
            	    mL_PARENTHESIS(); 


            	    }
            	    break;
            	case 16 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:38:157: R_PARENTHESIS
            	    {
            	    mR_PARENTHESIS(); 


            	    }
            	    break;

            	default :
            	    if ( cnt9 >= 1 ) break loop9;
                        EarlyExitException eee =
                            new EarlyExitException(9, input);
                        throw eee;
                }
                cnt9++;
            } while (true);


            mR_BRACKET(); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "TRANSCRIPTION"

    // $ANTLR start "DATE"
    public final void mDATE() throws RecognitionException {
        try {
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:41:17: ( '1' .. '2' '0' .. '9' '0' .. '9' '0' .. '9' )
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:41:19: '1' .. '2' '0' .. '9' '0' .. '9' '0' .. '9'
            {
            matchRange('1','2'); 

            matchRange('0','9'); 

            matchRange('0','9'); 

            matchRange('0','9'); 

            }


        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "DATE"

    // $ANTLR start "PORTU_LETER"
    public final void mPORTU_LETER() throws RecognitionException {
        try {
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:43:17: ( '\\u0304' | '\\u00d1' | '\\u2019' | 'A' .. 'Z' | 'a' .. 'z' | '\\u00d4' | '\\u00f1' | '\\u00C0' | '\\u00E0' | '\\u00C1' | '\\u00E1' | '\\u00C2' | '\\u00E2' | '\\u00C3' | '\\u00E3' | '\\u00C7' | '\\u00E7' | '\\u00C8' | '\\u00E8' | '\\u00C9' | '\\u00E9' | '\\u00CA' | '\\u00EA' | '\\u00CC' | '\\u00EC' | '\\u00CD' | '\\u00ED' | '\\u00CF' | '\\u00EF' | '\\u00D2' | '\\u00F2' | '\\u00D3' | '\\u00F3' | '\\u00D5' | '\\u00F5' | '\\u00D9' | '\\u00F9' | '\\u00DA' | '\\u00FA' | '\\u00DC' | '\\u00FC' | '\\u00AA' | '\\u00BA' | '\\u00F4' )
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:
            {
            if ( (input.LA(1) >= 'A' && input.LA(1) <= 'Z')||(input.LA(1) >= 'a' && input.LA(1) <= 'z')||input.LA(1)=='\u00AA'||input.LA(1)=='\u00BA'||(input.LA(1) >= '\u00C0' && input.LA(1) <= '\u00C3')||(input.LA(1) >= '\u00C7' && input.LA(1) <= '\u00CA')||(input.LA(1) >= '\u00CC' && input.LA(1) <= '\u00CD')||input.LA(1)=='\u00CF'||(input.LA(1) >= '\u00D1' && input.LA(1) <= '\u00D5')||(input.LA(1) >= '\u00D9' && input.LA(1) <= '\u00DA')||input.LA(1)=='\u00DC'||(input.LA(1) >= '\u00E0' && input.LA(1) <= '\u00E3')||(input.LA(1) >= '\u00E7' && input.LA(1) <= '\u00EA')||(input.LA(1) >= '\u00EC' && input.LA(1) <= '\u00ED')||input.LA(1)=='\u00EF'||(input.LA(1) >= '\u00F1' && input.LA(1) <= '\u00F5')||(input.LA(1) >= '\u00F9' && input.LA(1) <= '\u00FA')||input.LA(1)=='\u00FC'||input.LA(1)=='\u0304'||input.LA(1)=='\u2019' ) {
                input.consume();
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;
            }


            }


        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "PORTU_LETER"

    // $ANTLR start "REFERENCE"
    public final void mREFERENCE() throws RecognitionException {
        try {
            int _type = REFERENCE;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:43:17: ( '\\u2192' ( TERE | PORTU_LETER )+ '.' )
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:43:19: '\\u2192' ( TERE | PORTU_LETER )+ '.'
            {
            match('\u2192'); 

            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:43:28: ( TERE | PORTU_LETER )+
            int cnt10=0;
            loop10:
            do {
                int alt10=2;
                int LA10_0 = input.LA(1);

                if ( (LA10_0=='-'||(LA10_0 >= 'A' && LA10_0 <= 'Z')||(LA10_0 >= 'a' && LA10_0 <= 'z')||LA10_0=='\u00AA'||LA10_0=='\u00BA'||(LA10_0 >= '\u00C0' && LA10_0 <= '\u00C3')||(LA10_0 >= '\u00C7' && LA10_0 <= '\u00CA')||(LA10_0 >= '\u00CC' && LA10_0 <= '\u00CD')||LA10_0=='\u00CF'||(LA10_0 >= '\u00D1' && LA10_0 <= '\u00D5')||(LA10_0 >= '\u00D9' && LA10_0 <= '\u00DA')||LA10_0=='\u00DC'||(LA10_0 >= '\u00E0' && LA10_0 <= '\u00E3')||(LA10_0 >= '\u00E7' && LA10_0 <= '\u00EA')||(LA10_0 >= '\u00EC' && LA10_0 <= '\u00ED')||LA10_0=='\u00EF'||(LA10_0 >= '\u00F1' && LA10_0 <= '\u00F5')||(LA10_0 >= '\u00F9' && LA10_0 <= '\u00FA')||LA10_0=='\u00FC'||LA10_0=='\u0304'||LA10_0=='\u2019') ) {
                    alt10=1;
                }


                switch (alt10) {
            	case 1 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:
            	    {
            	    if ( input.LA(1)=='-'||(input.LA(1) >= 'A' && input.LA(1) <= 'Z')||(input.LA(1) >= 'a' && input.LA(1) <= 'z')||input.LA(1)=='\u00AA'||input.LA(1)=='\u00BA'||(input.LA(1) >= '\u00C0' && input.LA(1) <= '\u00C3')||(input.LA(1) >= '\u00C7' && input.LA(1) <= '\u00CA')||(input.LA(1) >= '\u00CC' && input.LA(1) <= '\u00CD')||input.LA(1)=='\u00CF'||(input.LA(1) >= '\u00D1' && input.LA(1) <= '\u00D5')||(input.LA(1) >= '\u00D9' && input.LA(1) <= '\u00DA')||input.LA(1)=='\u00DC'||(input.LA(1) >= '\u00E0' && input.LA(1) <= '\u00E3')||(input.LA(1) >= '\u00E7' && input.LA(1) <= '\u00EA')||(input.LA(1) >= '\u00EC' && input.LA(1) <= '\u00ED')||input.LA(1)=='\u00EF'||(input.LA(1) >= '\u00F1' && input.LA(1) <= '\u00F5')||(input.LA(1) >= '\u00F9' && input.LA(1) <= '\u00FA')||input.LA(1)=='\u00FC'||input.LA(1)=='\u0304'||input.LA(1)=='\u2019' ) {
            	        input.consume();
            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;
            	    }


            	    }
            	    break;

            	default :
            	    if ( cnt10 >= 1 ) break loop10;
                        EarlyExitException eee =
                            new EarlyExitException(10, input);
                        throw eee;
                }
                cnt10++;
            } while (true);


            match('.'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "REFERENCE"

    // $ANTLR start "ANY_CHAR"
    public final void mANY_CHAR() throws RecognitionException {
        try {
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:46:17: ( '\\u2019' | '\\u00a1' | '\\u00bf' | '0' .. '9' | PORTU_LETER | COMMA | WS | TERE | L_PARENTHESIS | R_PARENTHESIS )
            int alt11=10;
            switch ( input.LA(1) ) {
            case '\u2019':
                {
                alt11=1;
                }
                break;
            case '\u00A1':
                {
                alt11=2;
                }
                break;
            case '\u00BF':
                {
                alt11=3;
                }
                break;
            case '0':
            case '1':
            case '2':
            case '3':
            case '4':
            case '5':
            case '6':
            case '7':
            case '8':
            case '9':
                {
                alt11=4;
                }
                break;
            case 'A':
            case 'B':
            case 'C':
            case 'D':
            case 'E':
            case 'F':
            case 'G':
            case 'H':
            case 'I':
            case 'J':
            case 'K':
            case 'L':
            case 'M':
            case 'N':
            case 'O':
            case 'P':
            case 'Q':
            case 'R':
            case 'S':
            case 'T':
            case 'U':
            case 'V':
            case 'W':
            case 'X':
            case 'Y':
            case 'Z':
            case 'a':
            case 'b':
            case 'c':
            case 'd':
            case 'e':
            case 'f':
            case 'g':
            case 'h':
            case 'i':
            case 'j':
            case 'k':
            case 'l':
            case 'm':
            case 'n':
            case 'o':
            case 'p':
            case 'q':
            case 'r':
            case 's':
            case 't':
            case 'u':
            case 'v':
            case 'w':
            case 'x':
            case 'y':
            case 'z':
            case '\u00AA':
            case '\u00BA':
            case '\u00C0':
            case '\u00C1':
            case '\u00C2':
            case '\u00C3':
            case '\u00C7':
            case '\u00C8':
            case '\u00C9':
            case '\u00CA':
            case '\u00CC':
            case '\u00CD':
            case '\u00CF':
            case '\u00D1':
            case '\u00D2':
            case '\u00D3':
            case '\u00D4':
            case '\u00D5':
            case '\u00D9':
            case '\u00DA':
            case '\u00DC':
            case '\u00E0':
            case '\u00E1':
            case '\u00E2':
            case '\u00E3':
            case '\u00E7':
            case '\u00E8':
            case '\u00E9':
            case '\u00EA':
            case '\u00EC':
            case '\u00ED':
            case '\u00EF':
            case '\u00F1':
            case '\u00F2':
            case '\u00F3':
            case '\u00F4':
            case '\u00F5':
            case '\u00F9':
            case '\u00FA':
            case '\u00FC':
            case '\u0304':
                {
                alt11=5;
                }
                break;
            case ',':
                {
                alt11=6;
                }
                break;
            case ' ':
                {
                alt11=7;
                }
                break;
            case '-':
                {
                alt11=8;
                }
                break;
            case '(':
                {
                alt11=9;
                }
                break;
            case ')':
                {
                alt11=10;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 11, 0, input);

                throw nvae;

            }

            switch (alt11) {
                case 1 :
                    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:46:19: '\\u2019'
                    {
                    match('\u2019'); 

                    }
                    break;
                case 2 :
                    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:46:28: '\\u00a1'
                    {
                    match('\u00A1'); 

                    }
                    break;
                case 3 :
                    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:46:37: '\\u00bf'
                    {
                    match('\u00BF'); 

                    }
                    break;
                case 4 :
                    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:46:46: '0' .. '9'
                    {
                    matchRange('0','9'); 

                    }
                    break;
                case 5 :
                    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:46:55: PORTU_LETER
                    {
                    mPORTU_LETER(); 


                    }
                    break;
                case 6 :
                    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:46:67: COMMA
                    {
                    mCOMMA(); 


                    }
                    break;
                case 7 :
                    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:46:73: WS
                    {
                    mWS(); 


                    }
                    break;
                case 8 :
                    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:46:76: TERE
                    {
                    mTERE(); 


                    }
                    break;
                case 9 :
                    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:46:81: L_PARENTHESIS
                    {
                    mL_PARENTHESIS(); 


                    }
                    break;
                case 10 :
                    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:46:95: R_PARENTHESIS
                    {
                    mR_PARENTHESIS(); 


                    }
                    break;

            }

        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "ANY_CHAR"

    // $ANTLR start "SUP"
    public final void mSUP() throws RecognitionException {
        try {
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:48:17: ( '<sup>' '0' .. '9' '</sup>' )
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:48:19: '<sup>' '0' .. '9' '</sup>'
            {
            match("<sup>"); 



            matchRange('0','9'); 

            match("</sup>"); 



            }


        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "SUP"

    // $ANTLR start "EXAMPLE"
    public final void mEXAMPLE() throws RecognitionException {
        try {
            int _type = EXAMPLE;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:48:17: ( '<i>' EXAMPLE_HEADER ( SLASH EXAMPLE_HEADER )* '</i>' WS SLASH EXAMPLE_BODY ( SLASH EXAMPLE_BODY )* EXAMPLE_END )
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:48:19: '<i>' EXAMPLE_HEADER ( SLASH EXAMPLE_HEADER )* '</i>' WS SLASH EXAMPLE_BODY ( SLASH EXAMPLE_BODY )* EXAMPLE_END
            {
            match("<i>"); 



            mEXAMPLE_HEADER(); 


            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:48:40: ( SLASH EXAMPLE_HEADER )*
            loop12:
            do {
                int alt12=2;
                int LA12_0 = input.LA(1);

                if ( (LA12_0=='/') ) {
                    alt12=1;
                }


                switch (alt12) {
            	case 1 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:48:41: SLASH EXAMPLE_HEADER
            	    {
            	    mSLASH(); 


            	    mEXAMPLE_HEADER(); 


            	    }
            	    break;

            	default :
            	    break loop12;
                }
            } while (true);


            match("</i>"); 



            mWS(); 


            mSLASH(); 


            mEXAMPLE_BODY(); 


            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:48:93: ( SLASH EXAMPLE_BODY )*
            loop13:
            do {
                int alt13=2;
                int LA13_0 = input.LA(1);

                if ( (LA13_0=='/') ) {
                    alt13=1;
                }


                switch (alt13) {
            	case 1 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:48:94: SLASH EXAMPLE_BODY
            	    {
            	    mSLASH(); 


            	    mEXAMPLE_BODY(); 


            	    }
            	    break;

            	default :
            	    break loop13;
                }
            } while (true);


            mEXAMPLE_END(); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "EXAMPLE"

    // $ANTLR start "FIXED_EXAMPLE"
    public final void mFIXED_EXAMPLE() throws RecognitionException {
        try {
            int _type = FIXED_EXAMPLE;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:49:17: ( '<b>' EXAMPLE_HEADER ( SLASH EXAMPLE_HEADER )* '</b>' EXAMPLE_BODY ( SLASH EXAMPLE_BODY )* EXAMPLE_END )
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:49:19: '<b>' EXAMPLE_HEADER ( SLASH EXAMPLE_HEADER )* '</b>' EXAMPLE_BODY ( SLASH EXAMPLE_BODY )* EXAMPLE_END
            {
            match("<b>"); 



            mEXAMPLE_HEADER(); 


            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:49:40: ( SLASH EXAMPLE_HEADER )*
            loop14:
            do {
                int alt14=2;
                int LA14_0 = input.LA(1);

                if ( (LA14_0=='/') ) {
                    alt14=1;
                }


                switch (alt14) {
            	case 1 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:49:41: SLASH EXAMPLE_HEADER
            	    {
            	    mSLASH(); 


            	    mEXAMPLE_HEADER(); 


            	    }
            	    break;

            	default :
            	    break loop14;
                }
            } while (true);


            match("</b>"); 



            mEXAMPLE_BODY(); 


            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:49:91: ( SLASH EXAMPLE_BODY )*
            loop15:
            do {
                int alt15=2;
                int LA15_0 = input.LA(1);

                if ( (LA15_0=='/') ) {
                    alt15=1;
                }


                switch (alt15) {
            	case 1 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:49:92: SLASH EXAMPLE_BODY
            	    {
            	    mSLASH(); 


            	    mEXAMPLE_BODY(); 


            	    }
            	    break;

            	default :
            	    break loop15;
                }
            } while (true);


            mEXAMPLE_END(); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "FIXED_EXAMPLE"

    // $ANTLR start "NUM_FIXED_EXAMPLE"
    public final void mNUM_FIXED_EXAMPLE() throws RecognitionException {
        try {
            int _type = NUM_FIXED_EXAMPLE;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:50:18: ( '<b>' EXAMPLE_HEADER COLON '</b>' ( WS SUB_NUMERATION EXAMPLE_BODY EXAMPLE_END )+ )
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:50:20: '<b>' EXAMPLE_HEADER COLON '</b>' ( WS SUB_NUMERATION EXAMPLE_BODY EXAMPLE_END )+
            {
            match("<b>"); 



            mEXAMPLE_HEADER(); 


            mCOLON(); 


            match("</b>"); 



            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:50:54: ( WS SUB_NUMERATION EXAMPLE_BODY EXAMPLE_END )+
            int cnt16=0;
            loop16:
            do {
                int alt16=2;
                int LA16_0 = input.LA(1);

                if ( (LA16_0==' ') ) {
                    alt16=1;
                }


                switch (alt16) {
            	case 1 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:50:55: WS SUB_NUMERATION EXAMPLE_BODY EXAMPLE_END
            	    {
            	    mWS(); 


            	    mSUB_NUMERATION(); 


            	    mEXAMPLE_BODY(); 


            	    mEXAMPLE_END(); 


            	    }
            	    break;

            	default :
            	    if ( cnt16 >= 1 ) break loop16;
                        EarlyExitException eee =
                            new EarlyExitException(16, input);
                        throw eee;
                }
                cnt16++;
            } while (true);


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "NUM_FIXED_EXAMPLE"

    // $ANTLR start "EXAMPLE_HEADER"
    public final void mEXAMPLE_HEADER() throws RecognitionException {
        try {
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:53:17: ( ( ANY_CHAR | NO_CHAR | '!' | '?' | '\"' )+ )
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:53:19: ( ANY_CHAR | NO_CHAR | '!' | '?' | '\"' )+
            {
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:53:19: ( ANY_CHAR | NO_CHAR | '!' | '?' | '\"' )+
            int cnt17=0;
            loop17:
            do {
                int alt17=6;
                switch ( input.LA(1) ) {
                case ' ':
                case '(':
                case ')':
                case ',':
                case '-':
                case '0':
                case '1':
                case '2':
                case '3':
                case '4':
                case '5':
                case '6':
                case '7':
                case '8':
                case '9':
                case 'A':
                case 'B':
                case 'C':
                case 'D':
                case 'E':
                case 'F':
                case 'G':
                case 'H':
                case 'I':
                case 'J':
                case 'K':
                case 'L':
                case 'M':
                case 'N':
                case 'O':
                case 'P':
                case 'Q':
                case 'R':
                case 'S':
                case 'T':
                case 'U':
                case 'V':
                case 'W':
                case 'X':
                case 'Y':
                case 'Z':
                case 'a':
                case 'b':
                case 'c':
                case 'd':
                case 'e':
                case 'f':
                case 'g':
                case 'h':
                case 'i':
                case 'j':
                case 'k':
                case 'l':
                case 'm':
                case 'n':
                case 'o':
                case 'p':
                case 'q':
                case 'r':
                case 's':
                case 't':
                case 'u':
                case 'v':
                case 'w':
                case 'x':
                case 'y':
                case 'z':
                case '\u00A1':
                case '\u00AA':
                case '\u00BA':
                case '\u00BF':
                case '\u00C0':
                case '\u00C1':
                case '\u00C2':
                case '\u00C3':
                case '\u00C7':
                case '\u00C8':
                case '\u00C9':
                case '\u00CA':
                case '\u00CC':
                case '\u00CD':
                case '\u00CF':
                case '\u00D1':
                case '\u00D2':
                case '\u00D3':
                case '\u00D4':
                case '\u00D5':
                case '\u00D9':
                case '\u00DA':
                case '\u00DC':
                case '\u00E0':
                case '\u00E1':
                case '\u00E2':
                case '\u00E3':
                case '\u00E7':
                case '\u00E8':
                case '\u00E9':
                case '\u00EA':
                case '\u00EC':
                case '\u00ED':
                case '\u00EF':
                case '\u00F1':
                case '\u00F2':
                case '\u00F3':
                case '\u00F4':
                case '\u00F5':
                case '\u00F9':
                case '\u00FA':
                case '\u00FC':
                case '\u0304':
                case '\u2019':
                    {
                    alt17=1;
                    }
                    break;
                case '@':
                    {
                    alt17=2;
                    }
                    break;
                case '!':
                    {
                    alt17=3;
                    }
                    break;
                case '?':
                    {
                    alt17=4;
                    }
                    break;
                case '\"':
                    {
                    alt17=5;
                    }
                    break;

                }

                switch (alt17) {
            	case 1 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:53:20: ANY_CHAR
            	    {
            	    mANY_CHAR(); 


            	    }
            	    break;
            	case 2 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:53:29: NO_CHAR
            	    {
            	    mNO_CHAR(); 


            	    }
            	    break;
            	case 3 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:53:37: '!'
            	    {
            	    match('!'); 

            	    }
            	    break;
            	case 4 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:53:41: '?'
            	    {
            	    match('?'); 

            	    }
            	    break;
            	case 5 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:53:45: '\"'
            	    {
            	    match('\"'); 

            	    }
            	    break;

            	default :
            	    if ( cnt17 >= 1 ) break loop17;
                        EarlyExitException eee =
                            new EarlyExitException(17, input);
                        throw eee;
                }
                cnt17++;
            } while (true);


            }


        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "EXAMPLE_HEADER"

    // $ANTLR start "EXAMPLE_BODY"
    public final void mEXAMPLE_BODY() throws RecognitionException {
        try {
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:55:17: ( ( NO_CHAR | ANY_CHAR | '\"' | LABEL | DOUBLESHARP | SHARP | SEMI )+ )
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:55:19: ( NO_CHAR | ANY_CHAR | '\"' | LABEL | DOUBLESHARP | SHARP | SEMI )+
            {
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:55:19: ( NO_CHAR | ANY_CHAR | '\"' | LABEL | DOUBLESHARP | SHARP | SEMI )+
            int cnt18=0;
            loop18:
            do {
                int alt18=8;
                switch ( input.LA(1) ) {
                case '@':
                    {
                    alt18=1;
                    }
                    break;
                case ' ':
                case '(':
                case ')':
                case ',':
                case '-':
                case '0':
                case '1':
                case '2':
                case '3':
                case '4':
                case '5':
                case '6':
                case '7':
                case '8':
                case '9':
                case 'A':
                case 'B':
                case 'C':
                case 'D':
                case 'E':
                case 'F':
                case 'G':
                case 'H':
                case 'I':
                case 'J':
                case 'K':
                case 'L':
                case 'M':
                case 'N':
                case 'O':
                case 'P':
                case 'Q':
                case 'R':
                case 'S':
                case 'T':
                case 'U':
                case 'V':
                case 'W':
                case 'X':
                case 'Y':
                case 'Z':
                case 'a':
                case 'b':
                case 'c':
                case 'd':
                case 'e':
                case 'f':
                case 'g':
                case 'h':
                case 'i':
                case 'j':
                case 'k':
                case 'l':
                case 'm':
                case 'n':
                case 'o':
                case 'p':
                case 'q':
                case 'r':
                case 's':
                case 't':
                case 'u':
                case 'v':
                case 'w':
                case 'x':
                case 'y':
                case 'z':
                case '\u00A1':
                case '\u00AA':
                case '\u00BA':
                case '\u00BF':
                case '\u00C0':
                case '\u00C1':
                case '\u00C2':
                case '\u00C3':
                case '\u00C7':
                case '\u00C8':
                case '\u00C9':
                case '\u00CA':
                case '\u00CC':
                case '\u00CD':
                case '\u00CF':
                case '\u00D1':
                case '\u00D2':
                case '\u00D3':
                case '\u00D4':
                case '\u00D5':
                case '\u00D9':
                case '\u00DA':
                case '\u00DC':
                case '\u00E0':
                case '\u00E1':
                case '\u00E2':
                case '\u00E3':
                case '\u00E7':
                case '\u00E8':
                case '\u00E9':
                case '\u00EA':
                case '\u00EC':
                case '\u00ED':
                case '\u00EF':
                case '\u00F1':
                case '\u00F2':
                case '\u00F3':
                case '\u00F4':
                case '\u00F5':
                case '\u00F9':
                case '\u00FA':
                case '\u00FC':
                case '\u0304':
                case '\u2019':
                    {
                    alt18=2;
                    }
                    break;
                case '\"':
                    {
                    alt18=3;
                    }
                    break;
                case '<':
                    {
                    alt18=4;
                    }
                    break;
                case '#':
                    {
                    int LA18_6 = input.LA(2);

                    if ( (LA18_6=='#') ) {
                        alt18=5;
                    }

                    else {
                        alt18=6;
                    }


                    }
                    break;
                case ';':
                    {
                    alt18=7;
                    }
                    break;

                }

                switch (alt18) {
            	case 1 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:55:20: NO_CHAR
            	    {
            	    mNO_CHAR(); 


            	    }
            	    break;
            	case 2 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:55:28: ANY_CHAR
            	    {
            	    mANY_CHAR(); 


            	    }
            	    break;
            	case 3 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:55:37: '\"'
            	    {
            	    match('\"'); 

            	    }
            	    break;
            	case 4 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:55:41: LABEL
            	    {
            	    mLABEL(); 


            	    }
            	    break;
            	case 5 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:55:47: DOUBLESHARP
            	    {
            	    mDOUBLESHARP(); 


            	    }
            	    break;
            	case 6 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:55:59: SHARP
            	    {
            	    mSHARP(); 


            	    }
            	    break;
            	case 7 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:55:65: SEMI
            	    {
            	    mSEMI(); 


            	    }
            	    break;

            	default :
            	    if ( cnt18 >= 1 ) break loop18;
                        EarlyExitException eee =
                            new EarlyExitException(18, input);
                        throw eee;
                }
                cnt18++;
            } while (true);


            }


        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "EXAMPLE_BODY"

    // $ANTLR start "EXAMPLE_END"
    public final void mEXAMPLE_END() throws RecognitionException {
        try {
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:57:17: ( ( DOT | '!' | '?' ) )
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:
            {
            if ( input.LA(1)=='!'||input.LA(1)=='.'||input.LA(1)=='?' ) {
                input.consume();
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;
            }


            }


        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "EXAMPLE_END"

    // $ANTLR start "REF_CLAS"
    public final void mREF_CLAS() throws RecognitionException {
        try {
            int _type = REF_CLAS;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:57:17: ( '@' '\\u2192' ( . )+ DOT )
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:57:19: '@' '\\u2192' ( . )+ DOT
            {
            match('@'); 

            match('\u2192'); 

            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:57:32: ( . )+
            int cnt19=0;
            loop19:
            do {
                int alt19=2;
                int LA19_0 = input.LA(1);

                if ( (LA19_0=='.') ) {
                    alt19=2;
                }
                else if ( ((LA19_0 >= '\u0000' && LA19_0 <= '-')||(LA19_0 >= '/' && LA19_0 <= '\uFFFF')) ) {
                    alt19=1;
                }


                switch (alt19) {
            	case 1 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:57:32: .
            	    {
            	    matchAny(); 

            	    }
            	    break;

            	default :
            	    if ( cnt19 >= 1 ) break loop19;
                        EarlyExitException eee =
                            new EarlyExitException(19, input);
                        throw eee;
                }
                cnt19++;
            } while (true);


            mDOT(); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "REF_CLAS"

    // $ANTLR start "PORTU_WORD"
    public final void mPORTU_WORD() throws RecognitionException {
        try {
            int _type = PORTU_WORD;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:59:17: ( ITALIC_IN_SIMPLE | NOTCOMMENT | DATE | NO_CHAR | ( PORTU_LETER )+ ( TERE )? ( DATE | ( PORTU_LETER )+ | NOTCOMMENT )* ( '!' | '?' )? )
            int alt25=5;
            switch ( input.LA(1) ) {
            case '@':
                {
                int LA25_1 = input.LA(2);

                if ( (LA25_1=='<') ) {
                    alt25=1;
                }
                else if ( (LA25_1=='!'||(LA25_1 >= ',' && LA25_1 <= '/')||(LA25_1 >= ':' && LA25_1 <= ';')||LA25_1=='?') ) {
                    alt25=4;
                }
                else {
                    NoViableAltException nvae =
                        new NoViableAltException("", 25, 1, input);

                    throw nvae;

                }
                }
                break;
            case '(':
                {
                alt25=2;
                }
                break;
            case '1':
            case '2':
                {
                alt25=3;
                }
                break;
            case 'A':
            case 'B':
            case 'C':
            case 'D':
            case 'E':
            case 'F':
            case 'G':
            case 'H':
            case 'I':
            case 'J':
            case 'K':
            case 'L':
            case 'M':
            case 'N':
            case 'O':
            case 'P':
            case 'Q':
            case 'R':
            case 'S':
            case 'T':
            case 'U':
            case 'V':
            case 'W':
            case 'X':
            case 'Y':
            case 'Z':
            case 'a':
            case 'b':
            case 'c':
            case 'd':
            case 'e':
            case 'f':
            case 'g':
            case 'h':
            case 'i':
            case 'j':
            case 'k':
            case 'l':
            case 'm':
            case 'n':
            case 'o':
            case 'p':
            case 'q':
            case 'r':
            case 's':
            case 't':
            case 'u':
            case 'v':
            case 'w':
            case 'x':
            case 'y':
            case 'z':
            case '\u00AA':
            case '\u00BA':
            case '\u00C0':
            case '\u00C1':
            case '\u00C2':
            case '\u00C3':
            case '\u00C7':
            case '\u00C8':
            case '\u00C9':
            case '\u00CA':
            case '\u00CC':
            case '\u00CD':
            case '\u00CF':
            case '\u00D1':
            case '\u00D2':
            case '\u00D3':
            case '\u00D4':
            case '\u00D5':
            case '\u00D9':
            case '\u00DA':
            case '\u00DC':
            case '\u00E0':
            case '\u00E1':
            case '\u00E2':
            case '\u00E3':
            case '\u00E7':
            case '\u00E8':
            case '\u00E9':
            case '\u00EA':
            case '\u00EC':
            case '\u00ED':
            case '\u00EF':
            case '\u00F1':
            case '\u00F2':
            case '\u00F3':
            case '\u00F4':
            case '\u00F5':
            case '\u00F9':
            case '\u00FA':
            case '\u00FC':
            case '\u0304':
            case '\u2019':
                {
                alt25=5;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 25, 0, input);

                throw nvae;

            }

            switch (alt25) {
                case 1 :
                    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:59:19: ITALIC_IN_SIMPLE
                    {
                    mITALIC_IN_SIMPLE(); 


                    }
                    break;
                case 2 :
                    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:59:36: NOTCOMMENT
                    {
                    mNOTCOMMENT(); 


                    }
                    break;
                case 3 :
                    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:59:47: DATE
                    {
                    mDATE(); 


                    }
                    break;
                case 4 :
                    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:59:52: NO_CHAR
                    {
                    mNO_CHAR(); 


                    }
                    break;
                case 5 :
                    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:59:60: ( PORTU_LETER )+ ( TERE )? ( DATE | ( PORTU_LETER )+ | NOTCOMMENT )* ( '!' | '?' )?
                    {
                    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:59:60: ( PORTU_LETER )+
                    int cnt20=0;
                    loop20:
                    do {
                        int alt20=2;
                        int LA20_0 = input.LA(1);

                        if ( ((LA20_0 >= 'A' && LA20_0 <= 'Z')||(LA20_0 >= 'a' && LA20_0 <= 'z')||LA20_0=='\u00AA'||LA20_0=='\u00BA'||(LA20_0 >= '\u00C0' && LA20_0 <= '\u00C3')||(LA20_0 >= '\u00C7' && LA20_0 <= '\u00CA')||(LA20_0 >= '\u00CC' && LA20_0 <= '\u00CD')||LA20_0=='\u00CF'||(LA20_0 >= '\u00D1' && LA20_0 <= '\u00D5')||(LA20_0 >= '\u00D9' && LA20_0 <= '\u00DA')||LA20_0=='\u00DC'||(LA20_0 >= '\u00E0' && LA20_0 <= '\u00E3')||(LA20_0 >= '\u00E7' && LA20_0 <= '\u00EA')||(LA20_0 >= '\u00EC' && LA20_0 <= '\u00ED')||LA20_0=='\u00EF'||(LA20_0 >= '\u00F1' && LA20_0 <= '\u00F5')||(LA20_0 >= '\u00F9' && LA20_0 <= '\u00FA')||LA20_0=='\u00FC'||LA20_0=='\u0304'||LA20_0=='\u2019') ) {
                            alt20=1;
                        }


                        switch (alt20) {
                    	case 1 :
                    	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:
                    	    {
                    	    if ( (input.LA(1) >= 'A' && input.LA(1) <= 'Z')||(input.LA(1) >= 'a' && input.LA(1) <= 'z')||input.LA(1)=='\u00AA'||input.LA(1)=='\u00BA'||(input.LA(1) >= '\u00C0' && input.LA(1) <= '\u00C3')||(input.LA(1) >= '\u00C7' && input.LA(1) <= '\u00CA')||(input.LA(1) >= '\u00CC' && input.LA(1) <= '\u00CD')||input.LA(1)=='\u00CF'||(input.LA(1) >= '\u00D1' && input.LA(1) <= '\u00D5')||(input.LA(1) >= '\u00D9' && input.LA(1) <= '\u00DA')||input.LA(1)=='\u00DC'||(input.LA(1) >= '\u00E0' && input.LA(1) <= '\u00E3')||(input.LA(1) >= '\u00E7' && input.LA(1) <= '\u00EA')||(input.LA(1) >= '\u00EC' && input.LA(1) <= '\u00ED')||input.LA(1)=='\u00EF'||(input.LA(1) >= '\u00F1' && input.LA(1) <= '\u00F5')||(input.LA(1) >= '\u00F9' && input.LA(1) <= '\u00FA')||input.LA(1)=='\u00FC'||input.LA(1)=='\u0304'||input.LA(1)=='\u2019' ) {
                    	        input.consume();
                    	    }
                    	    else {
                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
                    	        recover(mse);
                    	        throw mse;
                    	    }


                    	    }
                    	    break;

                    	default :
                    	    if ( cnt20 >= 1 ) break loop20;
                                EarlyExitException eee =
                                    new EarlyExitException(20, input);
                                throw eee;
                        }
                        cnt20++;
                    } while (true);


                    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:59:73: ( TERE )?
                    int alt21=2;
                    int LA21_0 = input.LA(1);

                    if ( (LA21_0=='-') ) {
                        alt21=1;
                    }
                    switch (alt21) {
                        case 1 :
                            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:
                            {
                            if ( input.LA(1)=='-' ) {
                                input.consume();
                            }
                            else {
                                MismatchedSetException mse = new MismatchedSetException(null,input);
                                recover(mse);
                                throw mse;
                            }


                            }
                            break;

                    }


                    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:59:79: ( DATE | ( PORTU_LETER )+ | NOTCOMMENT )*
                    loop23:
                    do {
                        int alt23=4;
                        switch ( input.LA(1) ) {
                        case '1':
                        case '2':
                            {
                            alt23=1;
                            }
                            break;
                        case 'A':
                        case 'B':
                        case 'C':
                        case 'D':
                        case 'E':
                        case 'F':
                        case 'G':
                        case 'H':
                        case 'I':
                        case 'J':
                        case 'K':
                        case 'L':
                        case 'M':
                        case 'N':
                        case 'O':
                        case 'P':
                        case 'Q':
                        case 'R':
                        case 'S':
                        case 'T':
                        case 'U':
                        case 'V':
                        case 'W':
                        case 'X':
                        case 'Y':
                        case 'Z':
                        case 'a':
                        case 'b':
                        case 'c':
                        case 'd':
                        case 'e':
                        case 'f':
                        case 'g':
                        case 'h':
                        case 'i':
                        case 'j':
                        case 'k':
                        case 'l':
                        case 'm':
                        case 'n':
                        case 'o':
                        case 'p':
                        case 'q':
                        case 'r':
                        case 's':
                        case 't':
                        case 'u':
                        case 'v':
                        case 'w':
                        case 'x':
                        case 'y':
                        case 'z':
                        case '\u00AA':
                        case '\u00BA':
                        case '\u00C0':
                        case '\u00C1':
                        case '\u00C2':
                        case '\u00C3':
                        case '\u00C7':
                        case '\u00C8':
                        case '\u00C9':
                        case '\u00CA':
                        case '\u00CC':
                        case '\u00CD':
                        case '\u00CF':
                        case '\u00D1':
                        case '\u00D2':
                        case '\u00D3':
                        case '\u00D4':
                        case '\u00D5':
                        case '\u00D9':
                        case '\u00DA':
                        case '\u00DC':
                        case '\u00E0':
                        case '\u00E1':
                        case '\u00E2':
                        case '\u00E3':
                        case '\u00E7':
                        case '\u00E8':
                        case '\u00E9':
                        case '\u00EA':
                        case '\u00EC':
                        case '\u00ED':
                        case '\u00EF':
                        case '\u00F1':
                        case '\u00F2':
                        case '\u00F3':
                        case '\u00F4':
                        case '\u00F5':
                        case '\u00F9':
                        case '\u00FA':
                        case '\u00FC':
                        case '\u0304':
                        case '\u2019':
                            {
                            alt23=2;
                            }
                            break;
                        case '(':
                            {
                            alt23=3;
                            }
                            break;

                        }

                        switch (alt23) {
                    	case 1 :
                    	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:59:80: DATE
                    	    {
                    	    mDATE(); 


                    	    }
                    	    break;
                    	case 2 :
                    	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:59:85: ( PORTU_LETER )+
                    	    {
                    	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:59:85: ( PORTU_LETER )+
                    	    int cnt22=0;
                    	    loop22:
                    	    do {
                    	        int alt22=2;
                    	        int LA22_0 = input.LA(1);

                    	        if ( ((LA22_0 >= 'A' && LA22_0 <= 'Z')||(LA22_0 >= 'a' && LA22_0 <= 'z')||LA22_0=='\u00AA'||LA22_0=='\u00BA'||(LA22_0 >= '\u00C0' && LA22_0 <= '\u00C3')||(LA22_0 >= '\u00C7' && LA22_0 <= '\u00CA')||(LA22_0 >= '\u00CC' && LA22_0 <= '\u00CD')||LA22_0=='\u00CF'||(LA22_0 >= '\u00D1' && LA22_0 <= '\u00D5')||(LA22_0 >= '\u00D9' && LA22_0 <= '\u00DA')||LA22_0=='\u00DC'||(LA22_0 >= '\u00E0' && LA22_0 <= '\u00E3')||(LA22_0 >= '\u00E7' && LA22_0 <= '\u00EA')||(LA22_0 >= '\u00EC' && LA22_0 <= '\u00ED')||LA22_0=='\u00EF'||(LA22_0 >= '\u00F1' && LA22_0 <= '\u00F5')||(LA22_0 >= '\u00F9' && LA22_0 <= '\u00FA')||LA22_0=='\u00FC'||LA22_0=='\u0304'||LA22_0=='\u2019') ) {
                    	            alt22=1;
                    	        }


                    	        switch (alt22) {
                    	    	case 1 :
                    	    	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:
                    	    	    {
                    	    	    if ( (input.LA(1) >= 'A' && input.LA(1) <= 'Z')||(input.LA(1) >= 'a' && input.LA(1) <= 'z')||input.LA(1)=='\u00AA'||input.LA(1)=='\u00BA'||(input.LA(1) >= '\u00C0' && input.LA(1) <= '\u00C3')||(input.LA(1) >= '\u00C7' && input.LA(1) <= '\u00CA')||(input.LA(1) >= '\u00CC' && input.LA(1) <= '\u00CD')||input.LA(1)=='\u00CF'||(input.LA(1) >= '\u00D1' && input.LA(1) <= '\u00D5')||(input.LA(1) >= '\u00D9' && input.LA(1) <= '\u00DA')||input.LA(1)=='\u00DC'||(input.LA(1) >= '\u00E0' && input.LA(1) <= '\u00E3')||(input.LA(1) >= '\u00E7' && input.LA(1) <= '\u00EA')||(input.LA(1) >= '\u00EC' && input.LA(1) <= '\u00ED')||input.LA(1)=='\u00EF'||(input.LA(1) >= '\u00F1' && input.LA(1) <= '\u00F5')||(input.LA(1) >= '\u00F9' && input.LA(1) <= '\u00FA')||input.LA(1)=='\u00FC'||input.LA(1)=='\u0304'||input.LA(1)=='\u2019' ) {
                    	    	        input.consume();
                    	    	    }
                    	    	    else {
                    	    	        MismatchedSetException mse = new MismatchedSetException(null,input);
                    	    	        recover(mse);
                    	    	        throw mse;
                    	    	    }


                    	    	    }
                    	    	    break;

                    	    	default :
                    	    	    if ( cnt22 >= 1 ) break loop22;
                    	                EarlyExitException eee =
                    	                    new EarlyExitException(22, input);
                    	                throw eee;
                    	        }
                    	        cnt22++;
                    	    } while (true);


                    	    }
                    	    break;
                    	case 3 :
                    	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:59:98: NOTCOMMENT
                    	    {
                    	    mNOTCOMMENT(); 


                    	    }
                    	    break;

                    	default :
                    	    break loop23;
                        }
                    } while (true);


                    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:59:111: ( '!' | '?' )?
                    int alt24=2;
                    int LA24_0 = input.LA(1);

                    if ( (LA24_0=='!'||LA24_0=='?') ) {
                        alt24=1;
                    }
                    switch (alt24) {
                        case 1 :
                            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:
                            {
                            if ( input.LA(1)=='!'||input.LA(1)=='?' ) {
                                input.consume();
                            }
                            else {
                                MismatchedSetException mse = new MismatchedSetException(null,input);
                                recover(mse);
                                throw mse;
                            }


                            }
                            break;

                    }


                    }
                    break;

            }
            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "PORTU_WORD"

    // $ANTLR start "NUMERATION"
    public final void mNUMERATION() throws RecognitionException {
        try {
            int _type = NUMERATION;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:60:17: ( '<b>' '@' ( '1' .. '9' | '10' | '11' | '12' ) '</b>' )
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:60:19: '<b>' '@' ( '1' .. '9' | '10' | '11' | '12' ) '</b>'
            {
            match("<b>"); 



            match('@'); 

            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:60:29: ( '1' .. '9' | '10' | '11' | '12' )
            int alt26=4;
            int LA26_0 = input.LA(1);

            if ( (LA26_0=='1') ) {
                switch ( input.LA(2) ) {
                case '0':
                    {
                    alt26=2;
                    }
                    break;
                case '1':
                    {
                    alt26=3;
                    }
                    break;
                case '2':
                    {
                    alt26=4;
                    }
                    break;
                case '<':
                    {
                    alt26=1;
                    }
                    break;
                default:
                    NoViableAltException nvae =
                        new NoViableAltException("", 26, 1, input);

                    throw nvae;

                }

            }
            else if ( ((LA26_0 >= '2' && LA26_0 <= '9')) ) {
                alt26=1;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 26, 0, input);

                throw nvae;

            }
            switch (alt26) {
                case 1 :
                    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:60:30: '1' .. '9'
                    {
                    matchRange('1','9'); 

                    }
                    break;
                case 2 :
                    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:60:39: '10'
                    {
                    match("10"); 



                    }
                    break;
                case 3 :
                    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:60:44: '11'
                    {
                    match("11"); 



                    }
                    break;
                case 4 :
                    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:60:49: '12'
                    {
                    match("12"); 



                    }
                    break;

            }


            match("</b>"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "NUMERATION"

    // $ANTLR start "SUB_NUMERATION"
    public final void mSUB_NUMERATION() throws RecognitionException {
        try {
            int _type = SUB_NUMERATION;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:61:17: ( 'a' .. 'x' ')' )
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:61:19: 'a' .. 'x' ')'
            {
            matchRange('a','x'); 

            match(')'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "SUB_NUMERATION"

    // $ANTLR start "TOCLASSIF"
    public final void mTOCLASSIF() throws RecognitionException {
        try {
            int _type = TOCLASSIF;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:62:17: ( '<CL/><b>' ( PORTU_WORD | WS )+ '</b>' WS LABEL ( SHARP LABEL )* )
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:62:19: '<CL/><b>' ( PORTU_WORD | WS )+ '</b>' WS LABEL ( SHARP LABEL )*
            {
            match("<CL/><b>"); 



            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:62:29: ( PORTU_WORD | WS )+
            int cnt27=0;
            loop27:
            do {
                int alt27=3;
                int LA27_0 = input.LA(1);

                if ( (LA27_0=='('||(LA27_0 >= '1' && LA27_0 <= '2')||(LA27_0 >= '@' && LA27_0 <= 'Z')||(LA27_0 >= 'a' && LA27_0 <= 'z')||LA27_0=='\u00AA'||LA27_0=='\u00BA'||(LA27_0 >= '\u00C0' && LA27_0 <= '\u00C3')||(LA27_0 >= '\u00C7' && LA27_0 <= '\u00CA')||(LA27_0 >= '\u00CC' && LA27_0 <= '\u00CD')||LA27_0=='\u00CF'||(LA27_0 >= '\u00D1' && LA27_0 <= '\u00D5')||(LA27_0 >= '\u00D9' && LA27_0 <= '\u00DA')||LA27_0=='\u00DC'||(LA27_0 >= '\u00E0' && LA27_0 <= '\u00E3')||(LA27_0 >= '\u00E7' && LA27_0 <= '\u00EA')||(LA27_0 >= '\u00EC' && LA27_0 <= '\u00ED')||LA27_0=='\u00EF'||(LA27_0 >= '\u00F1' && LA27_0 <= '\u00F5')||(LA27_0 >= '\u00F9' && LA27_0 <= '\u00FA')||LA27_0=='\u00FC'||LA27_0=='\u0304'||LA27_0=='\u2019') ) {
                    alt27=1;
                }
                else if ( (LA27_0==' ') ) {
                    alt27=2;
                }


                switch (alt27) {
            	case 1 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:62:30: PORTU_WORD
            	    {
            	    mPORTU_WORD(); 


            	    }
            	    break;
            	case 2 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:62:41: WS
            	    {
            	    mWS(); 


            	    }
            	    break;

            	default :
            	    if ( cnt27 >= 1 ) break loop27;
                        EarlyExitException eee =
                            new EarlyExitException(27, input);
                        throw eee;
                }
                cnt27++;
            } while (true);


            match("</b>"); 



            mWS(); 


            mLABEL(); 


            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:62:61: ( SHARP LABEL )*
            loop28:
            do {
                int alt28=2;
                int LA28_0 = input.LA(1);

                if ( (LA28_0=='#') ) {
                    alt28=1;
                }


                switch (alt28) {
            	case 1 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:62:62: SHARP LABEL
            	    {
            	    mSHARP(); 


            	    mLABEL(); 


            	    }
            	    break;

            	default :
            	    break loop28;
                }
            } while (true);


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "TOCLASSIF"

    // $ANTLR start "LABEL"
    public final void mLABEL() throws RecognitionException {
        try {
            int _type = LABEL;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:65:16: ( '<i>{' ( PORTU_LETER | WS )+ '}</i>' )
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:65:18: '<i>{' ( PORTU_LETER | WS )+ '}</i>'
            {
            match("<i>{"); 



            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:65:25: ( PORTU_LETER | WS )+
            int cnt29=0;
            loop29:
            do {
                int alt29=3;
                int LA29_0 = input.LA(1);

                if ( ((LA29_0 >= 'A' && LA29_0 <= 'Z')||(LA29_0 >= 'a' && LA29_0 <= 'z')||LA29_0=='\u00AA'||LA29_0=='\u00BA'||(LA29_0 >= '\u00C0' && LA29_0 <= '\u00C3')||(LA29_0 >= '\u00C7' && LA29_0 <= '\u00CA')||(LA29_0 >= '\u00CC' && LA29_0 <= '\u00CD')||LA29_0=='\u00CF'||(LA29_0 >= '\u00D1' && LA29_0 <= '\u00D5')||(LA29_0 >= '\u00D9' && LA29_0 <= '\u00DA')||LA29_0=='\u00DC'||(LA29_0 >= '\u00E0' && LA29_0 <= '\u00E3')||(LA29_0 >= '\u00E7' && LA29_0 <= '\u00EA')||(LA29_0 >= '\u00EC' && LA29_0 <= '\u00ED')||LA29_0=='\u00EF'||(LA29_0 >= '\u00F1' && LA29_0 <= '\u00F5')||(LA29_0 >= '\u00F9' && LA29_0 <= '\u00FA')||LA29_0=='\u00FC'||LA29_0=='\u0304'||LA29_0=='\u2019') ) {
                    alt29=1;
                }
                else if ( (LA29_0==' ') ) {
                    alt29=2;
                }


                switch (alt29) {
            	case 1 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:65:26: PORTU_LETER
            	    {
            	    mPORTU_LETER(); 


            	    }
            	    break;
            	case 2 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:65:38: WS
            	    {
            	    mWS(); 


            	    }
            	    break;

            	default :
            	    if ( cnt29 >= 1 ) break loop29;
                        EarlyExitException eee =
                            new EarlyExitException(29, input);
                        throw eee;
                }
                cnt29++;
            } while (true);


            match("}</i>"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "LABEL"

    // $ANTLR start "VEJA"
    public final void mVEJA() throws RecognitionException {
        try {
            int _type = VEJA;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:66:17: ( ( '\\u2192' )? ( 'Veja modelo' | 'Veja nota' | 'Ver nota' ) ( . )* '.' )
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:66:19: ( '\\u2192' )? ( 'Veja modelo' | 'Veja nota' | 'Ver nota' ) ( . )* '.'
            {
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:66:19: ( '\\u2192' )?
            int alt30=2;
            int LA30_0 = input.LA(1);

            if ( (LA30_0=='\u2192') ) {
                alt30=1;
            }
            switch (alt30) {
                case 1 :
                    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:66:19: '\\u2192'
                    {
                    match('\u2192'); 

                    }
                    break;

            }


            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:66:29: ( 'Veja modelo' | 'Veja nota' | 'Ver nota' )
            int alt31=3;
            int LA31_0 = input.LA(1);

            if ( (LA31_0=='V') ) {
                int LA31_1 = input.LA(2);

                if ( (LA31_1=='e') ) {
                    int LA31_2 = input.LA(3);

                    if ( (LA31_2=='j') ) {
                        int LA31_3 = input.LA(4);

                        if ( (LA31_3=='a') ) {
                            int LA31_5 = input.LA(5);

                            if ( (LA31_5==' ') ) {
                                int LA31_6 = input.LA(6);

                                if ( (LA31_6=='m') ) {
                                    alt31=1;
                                }
                                else if ( (LA31_6=='n') ) {
                                    alt31=2;
                                }
                                else {
                                    NoViableAltException nvae =
                                        new NoViableAltException("", 31, 6, input);

                                    throw nvae;

                                }
                            }
                            else {
                                NoViableAltException nvae =
                                    new NoViableAltException("", 31, 5, input);

                                throw nvae;

                            }
                        }
                        else {
                            NoViableAltException nvae =
                                new NoViableAltException("", 31, 3, input);

                            throw nvae;

                        }
                    }
                    else if ( (LA31_2=='r') ) {
                        alt31=3;
                    }
                    else {
                        NoViableAltException nvae =
                            new NoViableAltException("", 31, 2, input);

                        throw nvae;

                    }
                }
                else {
                    NoViableAltException nvae =
                        new NoViableAltException("", 31, 1, input);

                    throw nvae;

                }
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 31, 0, input);

                throw nvae;

            }
            switch (alt31) {
                case 1 :
                    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:66:30: 'Veja modelo'
                    {
                    match("Veja modelo"); 



                    }
                    break;
                case 2 :
                    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:66:44: 'Veja nota'
                    {
                    match("Veja nota"); 



                    }
                    break;
                case 3 :
                    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:66:56: 'Ver nota'
                    {
                    match("Ver nota"); 



                    }
                    break;

            }


            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:66:68: ( . )*
            loop32:
            do {
                int alt32=2;
                int LA32_0 = input.LA(1);

                if ( (LA32_0=='.') ) {
                    alt32=2;
                }
                else if ( ((LA32_0 >= '\u0000' && LA32_0 <= '-')||(LA32_0 >= '/' && LA32_0 <= '\uFFFF')) ) {
                    alt32=1;
                }


                switch (alt32) {
            	case 1 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:66:68: .
            	    {
            	    matchAny(); 

            	    }
            	    break;

            	default :
            	    break loop32;
                }
            } while (true);


            match('.'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "VEJA"

    // $ANTLR start "NOTCOMMENT"
    public final void mNOTCOMMENT() throws RecognitionException {
        try {
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:69:17: ( L_PARENTHESIS ( TERE | PORTU_LETER | WS | COMMA | 'etc.' )+ R_PARENTHESIS )
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:69:19: L_PARENTHESIS ( TERE | PORTU_LETER | WS | COMMA | 'etc.' )+ R_PARENTHESIS
            {
            mL_PARENTHESIS(); 


            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:69:33: ( TERE | PORTU_LETER | WS | COMMA | 'etc.' )+
            int cnt33=0;
            loop33:
            do {
                int alt33=6;
                switch ( input.LA(1) ) {
                case '-':
                    {
                    alt33=1;
                    }
                    break;
                case 'e':
                    {
                    int LA33_3 = input.LA(2);

                    if ( (LA33_3=='t') ) {
                        int LA33_7 = input.LA(3);

                        if ( (LA33_7=='c') ) {
                            int LA33_8 = input.LA(4);

                            if ( (LA33_8=='.') ) {
                                alt33=5;
                            }
                            else if ( (LA33_8==' '||LA33_8==')'||(LA33_8 >= ',' && LA33_8 <= '-')||(LA33_8 >= 'A' && LA33_8 <= 'Z')||(LA33_8 >= 'a' && LA33_8 <= 'z')||LA33_8=='\u00AA'||LA33_8=='\u00BA'||(LA33_8 >= '\u00C0' && LA33_8 <= '\u00C3')||(LA33_8 >= '\u00C7' && LA33_8 <= '\u00CA')||(LA33_8 >= '\u00CC' && LA33_8 <= '\u00CD')||LA33_8=='\u00CF'||(LA33_8 >= '\u00D1' && LA33_8 <= '\u00D5')||(LA33_8 >= '\u00D9' && LA33_8 <= '\u00DA')||LA33_8=='\u00DC'||(LA33_8 >= '\u00E0' && LA33_8 <= '\u00E3')||(LA33_8 >= '\u00E7' && LA33_8 <= '\u00EA')||(LA33_8 >= '\u00EC' && LA33_8 <= '\u00ED')||LA33_8=='\u00EF'||(LA33_8 >= '\u00F1' && LA33_8 <= '\u00F5')||(LA33_8 >= '\u00F9' && LA33_8 <= '\u00FA')||LA33_8=='\u00FC'||LA33_8=='\u0304'||LA33_8=='\u2019') ) {
                                alt33=2;
                            }


                        }
                        else if ( (LA33_7==' '||LA33_7==')'||(LA33_7 >= ',' && LA33_7 <= '-')||(LA33_7 >= 'A' && LA33_7 <= 'Z')||(LA33_7 >= 'a' && LA33_7 <= 'b')||(LA33_7 >= 'd' && LA33_7 <= 'z')||LA33_7=='\u00AA'||LA33_7=='\u00BA'||(LA33_7 >= '\u00C0' && LA33_7 <= '\u00C3')||(LA33_7 >= '\u00C7' && LA33_7 <= '\u00CA')||(LA33_7 >= '\u00CC' && LA33_7 <= '\u00CD')||LA33_7=='\u00CF'||(LA33_7 >= '\u00D1' && LA33_7 <= '\u00D5')||(LA33_7 >= '\u00D9' && LA33_7 <= '\u00DA')||LA33_7=='\u00DC'||(LA33_7 >= '\u00E0' && LA33_7 <= '\u00E3')||(LA33_7 >= '\u00E7' && LA33_7 <= '\u00EA')||(LA33_7 >= '\u00EC' && LA33_7 <= '\u00ED')||LA33_7=='\u00EF'||(LA33_7 >= '\u00F1' && LA33_7 <= '\u00F5')||(LA33_7 >= '\u00F9' && LA33_7 <= '\u00FA')||LA33_7=='\u00FC'||LA33_7=='\u0304'||LA33_7=='\u2019') ) {
                            alt33=2;
                        }


                    }
                    else if ( (LA33_3==' '||LA33_3==')'||(LA33_3 >= ',' && LA33_3 <= '-')||(LA33_3 >= 'A' && LA33_3 <= 'Z')||(LA33_3 >= 'a' && LA33_3 <= 's')||(LA33_3 >= 'u' && LA33_3 <= 'z')||LA33_3=='\u00AA'||LA33_3=='\u00BA'||(LA33_3 >= '\u00C0' && LA33_3 <= '\u00C3')||(LA33_3 >= '\u00C7' && LA33_3 <= '\u00CA')||(LA33_3 >= '\u00CC' && LA33_3 <= '\u00CD')||LA33_3=='\u00CF'||(LA33_3 >= '\u00D1' && LA33_3 <= '\u00D5')||(LA33_3 >= '\u00D9' && LA33_3 <= '\u00DA')||LA33_3=='\u00DC'||(LA33_3 >= '\u00E0' && LA33_3 <= '\u00E3')||(LA33_3 >= '\u00E7' && LA33_3 <= '\u00EA')||(LA33_3 >= '\u00EC' && LA33_3 <= '\u00ED')||LA33_3=='\u00EF'||(LA33_3 >= '\u00F1' && LA33_3 <= '\u00F5')||(LA33_3 >= '\u00F9' && LA33_3 <= '\u00FA')||LA33_3=='\u00FC'||LA33_3=='\u0304'||LA33_3=='\u2019') ) {
                        alt33=2;
                    }


                    }
                    break;
                case ' ':
                    {
                    alt33=3;
                    }
                    break;
                case ',':
                    {
                    alt33=4;
                    }
                    break;
                case 'A':
                case 'B':
                case 'C':
                case 'D':
                case 'E':
                case 'F':
                case 'G':
                case 'H':
                case 'I':
                case 'J':
                case 'K':
                case 'L':
                case 'M':
                case 'N':
                case 'O':
                case 'P':
                case 'Q':
                case 'R':
                case 'S':
                case 'T':
                case 'U':
                case 'V':
                case 'W':
                case 'X':
                case 'Y':
                case 'Z':
                case 'a':
                case 'b':
                case 'c':
                case 'd':
                case 'f':
                case 'g':
                case 'h':
                case 'i':
                case 'j':
                case 'k':
                case 'l':
                case 'm':
                case 'n':
                case 'o':
                case 'p':
                case 'q':
                case 'r':
                case 's':
                case 't':
                case 'u':
                case 'v':
                case 'w':
                case 'x':
                case 'y':
                case 'z':
                case '\u00AA':
                case '\u00BA':
                case '\u00C0':
                case '\u00C1':
                case '\u00C2':
                case '\u00C3':
                case '\u00C7':
                case '\u00C8':
                case '\u00C9':
                case '\u00CA':
                case '\u00CC':
                case '\u00CD':
                case '\u00CF':
                case '\u00D1':
                case '\u00D2':
                case '\u00D3':
                case '\u00D4':
                case '\u00D5':
                case '\u00D9':
                case '\u00DA':
                case '\u00DC':
                case '\u00E0':
                case '\u00E1':
                case '\u00E2':
                case '\u00E3':
                case '\u00E7':
                case '\u00E8':
                case '\u00E9':
                case '\u00EA':
                case '\u00EC':
                case '\u00ED':
                case '\u00EF':
                case '\u00F1':
                case '\u00F2':
                case '\u00F3':
                case '\u00F4':
                case '\u00F5':
                case '\u00F9':
                case '\u00FA':
                case '\u00FC':
                case '\u0304':
                case '\u2019':
                    {
                    alt33=2;
                    }
                    break;

                }

                switch (alt33) {
            	case 1 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:69:34: TERE
            	    {
            	    mTERE(); 


            	    }
            	    break;
            	case 2 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:69:39: PORTU_LETER
            	    {
            	    mPORTU_LETER(); 


            	    }
            	    break;
            	case 3 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:69:51: WS
            	    {
            	    mWS(); 


            	    }
            	    break;
            	case 4 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:69:54: COMMA
            	    {
            	    mCOMMA(); 


            	    }
            	    break;
            	case 5 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:69:60: 'etc.'
            	    {
            	    match("etc."); 



            	    }
            	    break;

            	default :
            	    if ( cnt33 >= 1 ) break loop33;
                        EarlyExitException eee =
                            new EarlyExitException(33, input);
                        throw eee;
                }
                cnt33++;
            } while (true);


            mR_PARENTHESIS(); 


            }


        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "NOTCOMMENT"

    // $ANTLR start "COMMENT"
    public final void mCOMMENT() throws RecognitionException {
        try {
            int _type = COMMENT;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:69:17: ( '<i>' NOTCOMMENT '</i>' )
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:69:19: '<i>' NOTCOMMENT '</i>'
            {
            match("<i>"); 



            mNOTCOMMENT(); 


            match("</i>"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "COMMENT"

    // $ANTLR start "SIN"
    public final void mSIN() throws RecognitionException {
        try {
            int _type = SIN;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:70:17: ( '<i>Sin:' WS ( PORTU_LETER | COMMA | WS )+ DOT '</i>' )
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:70:19: '<i>Sin:' WS ( PORTU_LETER | COMMA | WS )+ DOT '</i>'
            {
            match("<i>Sin:"); 



            mWS(); 


            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:70:32: ( PORTU_LETER | COMMA | WS )+
            int cnt34=0;
            loop34:
            do {
                int alt34=4;
                switch ( input.LA(1) ) {
                case 'A':
                case 'B':
                case 'C':
                case 'D':
                case 'E':
                case 'F':
                case 'G':
                case 'H':
                case 'I':
                case 'J':
                case 'K':
                case 'L':
                case 'M':
                case 'N':
                case 'O':
                case 'P':
                case 'Q':
                case 'R':
                case 'S':
                case 'T':
                case 'U':
                case 'V':
                case 'W':
                case 'X':
                case 'Y':
                case 'Z':
                case 'a':
                case 'b':
                case 'c':
                case 'd':
                case 'e':
                case 'f':
                case 'g':
                case 'h':
                case 'i':
                case 'j':
                case 'k':
                case 'l':
                case 'm':
                case 'n':
                case 'o':
                case 'p':
                case 'q':
                case 'r':
                case 's':
                case 't':
                case 'u':
                case 'v':
                case 'w':
                case 'x':
                case 'y':
                case 'z':
                case '\u00AA':
                case '\u00BA':
                case '\u00C0':
                case '\u00C1':
                case '\u00C2':
                case '\u00C3':
                case '\u00C7':
                case '\u00C8':
                case '\u00C9':
                case '\u00CA':
                case '\u00CC':
                case '\u00CD':
                case '\u00CF':
                case '\u00D1':
                case '\u00D2':
                case '\u00D3':
                case '\u00D4':
                case '\u00D5':
                case '\u00D9':
                case '\u00DA':
                case '\u00DC':
                case '\u00E0':
                case '\u00E1':
                case '\u00E2':
                case '\u00E3':
                case '\u00E7':
                case '\u00E8':
                case '\u00E9':
                case '\u00EA':
                case '\u00EC':
                case '\u00ED':
                case '\u00EF':
                case '\u00F1':
                case '\u00F2':
                case '\u00F3':
                case '\u00F4':
                case '\u00F5':
                case '\u00F9':
                case '\u00FA':
                case '\u00FC':
                case '\u0304':
                case '\u2019':
                    {
                    alt34=1;
                    }
                    break;
                case ',':
                    {
                    alt34=2;
                    }
                    break;
                case ' ':
                    {
                    alt34=3;
                    }
                    break;

                }

                switch (alt34) {
            	case 1 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:70:33: PORTU_LETER
            	    {
            	    mPORTU_LETER(); 


            	    }
            	    break;
            	case 2 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:70:45: COMMA
            	    {
            	    mCOMMA(); 


            	    }
            	    break;
            	case 3 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:70:51: WS
            	    {
            	    mWS(); 


            	    }
            	    break;

            	default :
            	    if ( cnt34 >= 1 ) break loop34;
                        EarlyExitException eee =
                            new EarlyExitException(34, input);
                        throw eee;
                }
                cnt34++;
            } while (true);


            mDOT(); 


            match("</i>"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "SIN"

    // $ANTLR start "VAR"
    public final void mVAR() throws RecognitionException {
        try {
            int _type = VAR;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:71:17: ( '<i>Var:' WS ( PORTU_LETER | COMMA | WS )+ DOT '</i>' )
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:71:19: '<i>Var:' WS ( PORTU_LETER | COMMA | WS )+ DOT '</i>'
            {
            match("<i>Var:"); 



            mWS(); 


            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:71:32: ( PORTU_LETER | COMMA | WS )+
            int cnt35=0;
            loop35:
            do {
                int alt35=4;
                switch ( input.LA(1) ) {
                case 'A':
                case 'B':
                case 'C':
                case 'D':
                case 'E':
                case 'F':
                case 'G':
                case 'H':
                case 'I':
                case 'J':
                case 'K':
                case 'L':
                case 'M':
                case 'N':
                case 'O':
                case 'P':
                case 'Q':
                case 'R':
                case 'S':
                case 'T':
                case 'U':
                case 'V':
                case 'W':
                case 'X':
                case 'Y':
                case 'Z':
                case 'a':
                case 'b':
                case 'c':
                case 'd':
                case 'e':
                case 'f':
                case 'g':
                case 'h':
                case 'i':
                case 'j':
                case 'k':
                case 'l':
                case 'm':
                case 'n':
                case 'o':
                case 'p':
                case 'q':
                case 'r':
                case 's':
                case 't':
                case 'u':
                case 'v':
                case 'w':
                case 'x':
                case 'y':
                case 'z':
                case '\u00AA':
                case '\u00BA':
                case '\u00C0':
                case '\u00C1':
                case '\u00C2':
                case '\u00C3':
                case '\u00C7':
                case '\u00C8':
                case '\u00C9':
                case '\u00CA':
                case '\u00CC':
                case '\u00CD':
                case '\u00CF':
                case '\u00D1':
                case '\u00D2':
                case '\u00D3':
                case '\u00D4':
                case '\u00D5':
                case '\u00D9':
                case '\u00DA':
                case '\u00DC':
                case '\u00E0':
                case '\u00E1':
                case '\u00E2':
                case '\u00E3':
                case '\u00E7':
                case '\u00E8':
                case '\u00E9':
                case '\u00EA':
                case '\u00EC':
                case '\u00ED':
                case '\u00EF':
                case '\u00F1':
                case '\u00F2':
                case '\u00F3':
                case '\u00F4':
                case '\u00F5':
                case '\u00F9':
                case '\u00FA':
                case '\u00FC':
                case '\u0304':
                case '\u2019':
                    {
                    alt35=1;
                    }
                    break;
                case ',':
                    {
                    alt35=2;
                    }
                    break;
                case ' ':
                    {
                    alt35=3;
                    }
                    break;

                }

                switch (alt35) {
            	case 1 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:71:33: PORTU_LETER
            	    {
            	    mPORTU_LETER(); 


            	    }
            	    break;
            	case 2 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:71:45: COMMA
            	    {
            	    mCOMMA(); 


            	    }
            	    break;
            	case 3 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:71:51: WS
            	    {
            	    mWS(); 


            	    }
            	    break;

            	default :
            	    if ( cnt35 >= 1 ) break loop35;
                        EarlyExitException eee =
                            new EarlyExitException(35, input);
                        throw eee;
                }
                cnt35++;
            } while (true);


            mDOT(); 


            match("</i>"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "VAR"

    // $ANTLR start "PART_IRREG"
    public final void mPART_IRREG() throws RecognitionException {
        try {
            int _type = PART_IRREG;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:72:17: ( '<i>Part irreg:</i>' ( PORTU_LETER | COMMA | WS )+ DOT )
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:72:19: '<i>Part irreg:</i>' ( PORTU_LETER | COMMA | WS )+ DOT
            {
            match("<i>Part irreg:</i>"); 



            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:72:40: ( PORTU_LETER | COMMA | WS )+
            int cnt36=0;
            loop36:
            do {
                int alt36=4;
                switch ( input.LA(1) ) {
                case 'A':
                case 'B':
                case 'C':
                case 'D':
                case 'E':
                case 'F':
                case 'G':
                case 'H':
                case 'I':
                case 'J':
                case 'K':
                case 'L':
                case 'M':
                case 'N':
                case 'O':
                case 'P':
                case 'Q':
                case 'R':
                case 'S':
                case 'T':
                case 'U':
                case 'V':
                case 'W':
                case 'X':
                case 'Y':
                case 'Z':
                case 'a':
                case 'b':
                case 'c':
                case 'd':
                case 'e':
                case 'f':
                case 'g':
                case 'h':
                case 'i':
                case 'j':
                case 'k':
                case 'l':
                case 'm':
                case 'n':
                case 'o':
                case 'p':
                case 'q':
                case 'r':
                case 's':
                case 't':
                case 'u':
                case 'v':
                case 'w':
                case 'x':
                case 'y':
                case 'z':
                case '\u00AA':
                case '\u00BA':
                case '\u00C0':
                case '\u00C1':
                case '\u00C2':
                case '\u00C3':
                case '\u00C7':
                case '\u00C8':
                case '\u00C9':
                case '\u00CA':
                case '\u00CC':
                case '\u00CD':
                case '\u00CF':
                case '\u00D1':
                case '\u00D2':
                case '\u00D3':
                case '\u00D4':
                case '\u00D5':
                case '\u00D9':
                case '\u00DA':
                case '\u00DC':
                case '\u00E0':
                case '\u00E1':
                case '\u00E2':
                case '\u00E3':
                case '\u00E7':
                case '\u00E8':
                case '\u00E9':
                case '\u00EA':
                case '\u00EC':
                case '\u00ED':
                case '\u00EF':
                case '\u00F1':
                case '\u00F2':
                case '\u00F3':
                case '\u00F4':
                case '\u00F5':
                case '\u00F9':
                case '\u00FA':
                case '\u00FC':
                case '\u0304':
                case '\u2019':
                    {
                    alt36=1;
                    }
                    break;
                case ',':
                    {
                    alt36=2;
                    }
                    break;
                case ' ':
                    {
                    alt36=3;
                    }
                    break;

                }

                switch (alt36) {
            	case 1 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:72:41: PORTU_LETER
            	    {
            	    mPORTU_LETER(); 


            	    }
            	    break;
            	case 2 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:72:53: COMMA
            	    {
            	    mCOMMA(); 


            	    }
            	    break;
            	case 3 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:72:59: WS
            	    {
            	    mWS(); 


            	    }
            	    break;

            	default :
            	    if ( cnt36 >= 1 ) break loop36;
                        EarlyExitException eee =
                            new EarlyExitException(36, input);
                        throw eee;
                }
                cnt36++;
            } while (true);


            mDOT(); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "PART_IRREG"

    // $ANTLR start "ITALIC_IN_SIMPLE"
    public final void mITALIC_IN_SIMPLE() throws RecognitionException {
        try {
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:75:17: ( '@<i>' ( ANY_CHAR | DOT | NO_CHAR )+ '</i>' )
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:75:19: '@<i>' ( ANY_CHAR | DOT | NO_CHAR )+ '</i>'
            {
            match("@<i>"); 



            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:75:26: ( ANY_CHAR | DOT | NO_CHAR )+
            int cnt37=0;
            loop37:
            do {
                int alt37=4;
                switch ( input.LA(1) ) {
                case ' ':
                case '(':
                case ')':
                case ',':
                case '-':
                case '0':
                case '1':
                case '2':
                case '3':
                case '4':
                case '5':
                case '6':
                case '7':
                case '8':
                case '9':
                case 'A':
                case 'B':
                case 'C':
                case 'D':
                case 'E':
                case 'F':
                case 'G':
                case 'H':
                case 'I':
                case 'J':
                case 'K':
                case 'L':
                case 'M':
                case 'N':
                case 'O':
                case 'P':
                case 'Q':
                case 'R':
                case 'S':
                case 'T':
                case 'U':
                case 'V':
                case 'W':
                case 'X':
                case 'Y':
                case 'Z':
                case 'a':
                case 'b':
                case 'c':
                case 'd':
                case 'e':
                case 'f':
                case 'g':
                case 'h':
                case 'i':
                case 'j':
                case 'k':
                case 'l':
                case 'm':
                case 'n':
                case 'o':
                case 'p':
                case 'q':
                case 'r':
                case 's':
                case 't':
                case 'u':
                case 'v':
                case 'w':
                case 'x':
                case 'y':
                case 'z':
                case '\u00A1':
                case '\u00AA':
                case '\u00BA':
                case '\u00BF':
                case '\u00C0':
                case '\u00C1':
                case '\u00C2':
                case '\u00C3':
                case '\u00C7':
                case '\u00C8':
                case '\u00C9':
                case '\u00CA':
                case '\u00CC':
                case '\u00CD':
                case '\u00CF':
                case '\u00D1':
                case '\u00D2':
                case '\u00D3':
                case '\u00D4':
                case '\u00D5':
                case '\u00D9':
                case '\u00DA':
                case '\u00DC':
                case '\u00E0':
                case '\u00E1':
                case '\u00E2':
                case '\u00E3':
                case '\u00E7':
                case '\u00E8':
                case '\u00E9':
                case '\u00EA':
                case '\u00EC':
                case '\u00ED':
                case '\u00EF':
                case '\u00F1':
                case '\u00F2':
                case '\u00F3':
                case '\u00F4':
                case '\u00F5':
                case '\u00F9':
                case '\u00FA':
                case '\u00FC':
                case '\u0304':
                case '\u2019':
                    {
                    alt37=1;
                    }
                    break;
                case '.':
                    {
                    alt37=2;
                    }
                    break;
                case '@':
                    {
                    alt37=3;
                    }
                    break;

                }

                switch (alt37) {
            	case 1 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:75:27: ANY_CHAR
            	    {
            	    mANY_CHAR(); 


            	    }
            	    break;
            	case 2 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:75:36: DOT
            	    {
            	    mDOT(); 


            	    }
            	    break;
            	case 3 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:75:40: NO_CHAR
            	    {
            	    mNO_CHAR(); 


            	    }
            	    break;

            	default :
            	    if ( cnt37 >= 1 ) break loop37;
                        EarlyExitException eee =
                            new EarlyExitException(37, input);
                        throw eee;
                }
                cnt37++;
            } while (true);


            match("</i>"); 



            }


        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "ITALIC_IN_SIMPLE"

    // $ANTLR start "COMMENT_IN_SIMPLE"
    public final void mCOMMENT_IN_SIMPLE() throws RecognitionException {
        try {
            int _type = COMMENT_IN_SIMPLE;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:75:18: ( '^<i>' ( ANY_CHAR | DOT | NO_CHAR )+ '</i>' )
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:75:20: '^<i>' ( ANY_CHAR | DOT | NO_CHAR )+ '</i>'
            {
            match("^<i>"); 



            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:75:27: ( ANY_CHAR | DOT | NO_CHAR )+
            int cnt38=0;
            loop38:
            do {
                int alt38=4;
                switch ( input.LA(1) ) {
                case ' ':
                case '(':
                case ')':
                case ',':
                case '-':
                case '0':
                case '1':
                case '2':
                case '3':
                case '4':
                case '5':
                case '6':
                case '7':
                case '8':
                case '9':
                case 'A':
                case 'B':
                case 'C':
                case 'D':
                case 'E':
                case 'F':
                case 'G':
                case 'H':
                case 'I':
                case 'J':
                case 'K':
                case 'L':
                case 'M':
                case 'N':
                case 'O':
                case 'P':
                case 'Q':
                case 'R':
                case 'S':
                case 'T':
                case 'U':
                case 'V':
                case 'W':
                case 'X':
                case 'Y':
                case 'Z':
                case 'a':
                case 'b':
                case 'c':
                case 'd':
                case 'e':
                case 'f':
                case 'g':
                case 'h':
                case 'i':
                case 'j':
                case 'k':
                case 'l':
                case 'm':
                case 'n':
                case 'o':
                case 'p':
                case 'q':
                case 'r':
                case 's':
                case 't':
                case 'u':
                case 'v':
                case 'w':
                case 'x':
                case 'y':
                case 'z':
                case '\u00A1':
                case '\u00AA':
                case '\u00BA':
                case '\u00BF':
                case '\u00C0':
                case '\u00C1':
                case '\u00C2':
                case '\u00C3':
                case '\u00C7':
                case '\u00C8':
                case '\u00C9':
                case '\u00CA':
                case '\u00CC':
                case '\u00CD':
                case '\u00CF':
                case '\u00D1':
                case '\u00D2':
                case '\u00D3':
                case '\u00D4':
                case '\u00D5':
                case '\u00D9':
                case '\u00DA':
                case '\u00DC':
                case '\u00E0':
                case '\u00E1':
                case '\u00E2':
                case '\u00E3':
                case '\u00E7':
                case '\u00E8':
                case '\u00E9':
                case '\u00EA':
                case '\u00EC':
                case '\u00ED':
                case '\u00EF':
                case '\u00F1':
                case '\u00F2':
                case '\u00F3':
                case '\u00F4':
                case '\u00F5':
                case '\u00F9':
                case '\u00FA':
                case '\u00FC':
                case '\u0304':
                case '\u2019':
                    {
                    alt38=1;
                    }
                    break;
                case '.':
                    {
                    alt38=2;
                    }
                    break;
                case '@':
                    {
                    alt38=3;
                    }
                    break;

                }

                switch (alt38) {
            	case 1 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:75:28: ANY_CHAR
            	    {
            	    mANY_CHAR(); 


            	    }
            	    break;
            	case 2 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:75:37: DOT
            	    {
            	    mDOT(); 


            	    }
            	    break;
            	case 3 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:75:41: NO_CHAR
            	    {
            	    mNO_CHAR(); 


            	    }
            	    break;

            	default :
            	    if ( cnt38 >= 1 ) break loop38;
                        EarlyExitException eee =
                            new EarlyExitException(38, input);
                        throw eee;
                }
                cnt38++;
            } while (true);


            match("</i>"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "COMMENT_IN_SIMPLE"

    // $ANTLR start "CUSTOM"
    public final void mCUSTOM() throws RecognitionException {
        try {
            int _type = CUSTOM;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:76:17: ( '<h1>' ( ANY_CHAR | '!' | '?' | '<b>' | '</b>' | '<i>' | '</i>' | COLON | SEMI | SLASH | DOT | '\"' | NO_CHAR )+ '</h1>' )
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:76:19: '<h1>' ( ANY_CHAR | '!' | '?' | '<b>' | '</b>' | '<i>' | '</i>' | COLON | SEMI | SLASH | DOT | '\"' | NO_CHAR )+ '</h1>'
            {
            match("<h1>"); 



            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:76:26: ( ANY_CHAR | '!' | '?' | '<b>' | '</b>' | '<i>' | '</i>' | COLON | SEMI | SLASH | DOT | '\"' | NO_CHAR )+
            int cnt39=0;
            loop39:
            do {
                int alt39=14;
                switch ( input.LA(1) ) {
                case '<':
                    {
                    switch ( input.LA(2) ) {
                    case '/':
                        {
                        int LA39_11 = input.LA(3);

                        if ( (LA39_11=='b') ) {
                            alt39=5;
                        }
                        else if ( (LA39_11=='i') ) {
                            alt39=7;
                        }


                        }
                        break;
                    case 'b':
                        {
                        alt39=4;
                        }
                        break;
                    case 'i':
                        {
                        alt39=6;
                        }
                        break;

                    }

                    }
                    break;
                case ' ':
                case '(':
                case ')':
                case ',':
                case '-':
                case '0':
                case '1':
                case '2':
                case '3':
                case '4':
                case '5':
                case '6':
                case '7':
                case '8':
                case '9':
                case 'A':
                case 'B':
                case 'C':
                case 'D':
                case 'E':
                case 'F':
                case 'G':
                case 'H':
                case 'I':
                case 'J':
                case 'K':
                case 'L':
                case 'M':
                case 'N':
                case 'O':
                case 'P':
                case 'Q':
                case 'R':
                case 'S':
                case 'T':
                case 'U':
                case 'V':
                case 'W':
                case 'X':
                case 'Y':
                case 'Z':
                case 'a':
                case 'b':
                case 'c':
                case 'd':
                case 'e':
                case 'f':
                case 'g':
                case 'h':
                case 'i':
                case 'j':
                case 'k':
                case 'l':
                case 'm':
                case 'n':
                case 'o':
                case 'p':
                case 'q':
                case 'r':
                case 's':
                case 't':
                case 'u':
                case 'v':
                case 'w':
                case 'x':
                case 'y':
                case 'z':
                case '\u00A1':
                case '\u00AA':
                case '\u00BA':
                case '\u00BF':
                case '\u00C0':
                case '\u00C1':
                case '\u00C2':
                case '\u00C3':
                case '\u00C7':
                case '\u00C8':
                case '\u00C9':
                case '\u00CA':
                case '\u00CC':
                case '\u00CD':
                case '\u00CF':
                case '\u00D1':
                case '\u00D2':
                case '\u00D3':
                case '\u00D4':
                case '\u00D5':
                case '\u00D9':
                case '\u00DA':
                case '\u00DC':
                case '\u00E0':
                case '\u00E1':
                case '\u00E2':
                case '\u00E3':
                case '\u00E7':
                case '\u00E8':
                case '\u00E9':
                case '\u00EA':
                case '\u00EC':
                case '\u00ED':
                case '\u00EF':
                case '\u00F1':
                case '\u00F2':
                case '\u00F3':
                case '\u00F4':
                case '\u00F5':
                case '\u00F9':
                case '\u00FA':
                case '\u00FC':
                case '\u0304':
                case '\u2019':
                    {
                    alt39=1;
                    }
                    break;
                case '!':
                    {
                    alt39=2;
                    }
                    break;
                case '?':
                    {
                    alt39=3;
                    }
                    break;
                case ':':
                    {
                    alt39=8;
                    }
                    break;
                case ';':
                    {
                    alt39=9;
                    }
                    break;
                case '/':
                    {
                    alt39=10;
                    }
                    break;
                case '.':
                    {
                    alt39=11;
                    }
                    break;
                case '\"':
                    {
                    alt39=12;
                    }
                    break;
                case '@':
                    {
                    alt39=13;
                    }
                    break;

                }

                switch (alt39) {
            	case 1 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:76:27: ANY_CHAR
            	    {
            	    mANY_CHAR(); 


            	    }
            	    break;
            	case 2 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:76:36: '!'
            	    {
            	    match('!'); 

            	    }
            	    break;
            	case 3 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:76:40: '?'
            	    {
            	    match('?'); 

            	    }
            	    break;
            	case 4 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:76:44: '<b>'
            	    {
            	    match("<b>"); 



            	    }
            	    break;
            	case 5 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:76:50: '</b>'
            	    {
            	    match("</b>"); 



            	    }
            	    break;
            	case 6 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:76:57: '<i>'
            	    {
            	    match("<i>"); 



            	    }
            	    break;
            	case 7 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:76:63: '</i>'
            	    {
            	    match("</i>"); 



            	    }
            	    break;
            	case 8 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:76:70: COLON
            	    {
            	    mCOLON(); 


            	    }
            	    break;
            	case 9 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:76:76: SEMI
            	    {
            	    mSEMI(); 


            	    }
            	    break;
            	case 10 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:76:81: SLASH
            	    {
            	    mSLASH(); 


            	    }
            	    break;
            	case 11 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:76:87: DOT
            	    {
            	    mDOT(); 


            	    }
            	    break;
            	case 12 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:76:91: '\"'
            	    {
            	    match('\"'); 

            	    }
            	    break;
            	case 13 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:76:95: NO_CHAR
            	    {
            	    mNO_CHAR(); 


            	    }
            	    break;

            	default :
            	    if ( cnt39 >= 1 ) break loop39;
                        EarlyExitException eee =
                            new EarlyExitException(39, input);
                        throw eee;
                }
                cnt39++;
            } while (true);


            match("</h1>"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "CUSTOM"

    // $ANTLR start "HOMONYM"
    public final void mHOMONYM() throws RecognitionException {
        try {
            int _type = HOMONYM;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:77:17: ( '<homonym/>' )
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:77:19: '<homonym/>'
            {
            match("<homonym/>"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "HOMONYM"

    // $ANTLR start "SIMPLE"
    public final void mSIMPLE() throws RecognitionException {
        try {
            int _type = SIMPLE;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:78:17: ( '~' ( . )* '~' )
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:78:19: '~' ( . )* '~'
            {
            match('~'); 

            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:78:22: ( . )*
            loop40:
            do {
                int alt40=2;
                int LA40_0 = input.LA(1);

                if ( (LA40_0=='~') ) {
                    alt40=2;
                }
                else if ( ((LA40_0 >= '\u0000' && LA40_0 <= '}')||(LA40_0 >= '\u007F' && LA40_0 <= '\uFFFF')) ) {
                    alt40=1;
                }


                switch (alt40) {
            	case 1 :
            	    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:78:22: .
            	    {
            	    matchAny(); 

            	    }
            	    break;

            	default :
            	    break loop40;
                }
            } while (true);


            match('~'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "SIMPLE"

    // $ANTLR start "NO_CHAR"
    public final void mNO_CHAR() throws RecognitionException {
        try {
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:81:17: ( '@.' | '@,' | '@:' | '@-' | '@/' | '@;' | '@!' | '@?' )
            int alt41=8;
            int LA41_0 = input.LA(1);

            if ( (LA41_0=='@') ) {
                switch ( input.LA(2) ) {
                case '.':
                    {
                    alt41=1;
                    }
                    break;
                case ',':
                    {
                    alt41=2;
                    }
                    break;
                case ':':
                    {
                    alt41=3;
                    }
                    break;
                case '-':
                    {
                    alt41=4;
                    }
                    break;
                case '/':
                    {
                    alt41=5;
                    }
                    break;
                case ';':
                    {
                    alt41=6;
                    }
                    break;
                case '!':
                    {
                    alt41=7;
                    }
                    break;
                case '?':
                    {
                    alt41=8;
                    }
                    break;
                default:
                    NoViableAltException nvae =
                        new NoViableAltException("", 41, 1, input);

                    throw nvae;

                }

            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 41, 0, input);

                throw nvae;

            }
            switch (alt41) {
                case 1 :
                    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:81:19: '@.'
                    {
                    match("@."); 



                    }
                    break;
                case 2 :
                    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:81:24: '@,'
                    {
                    match("@,"); 



                    }
                    break;
                case 3 :
                    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:81:29: '@:'
                    {
                    match("@:"); 



                    }
                    break;
                case 4 :
                    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:81:34: '@-'
                    {
                    match("@-"); 



                    }
                    break;
                case 5 :
                    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:81:39: '@/'
                    {
                    match("@/"); 



                    }
                    break;
                case 6 :
                    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:81:44: '@;'
                    {
                    match("@;"); 



                    }
                    break;
                case 7 :
                    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:81:49: '@!'
                    {
                    match("@!"); 



                    }
                    break;
                case 8 :
                    // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:81:54: '@?'
                    {
                    match("@?"); 



                    }
                    break;

            }

        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "NO_CHAR"

    // $ANTLR start "WS"
    public final void mWS() throws RecognitionException {
        try {
            int _type = WS;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:81:17: ( ( ' ' ) )
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:81:19: ( ' ' )
            {
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:81:19: ( ' ' )
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:81:20: ' '
            {
            match(' '); 

            }


            _channel=HIDDEN;

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "WS"

    // $ANTLR start "DOT"
    public final void mDOT() throws RecognitionException {
        try {
            int _type = DOT;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:82:17: ( '.' )
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:82:19: '.'
            {
            match('.'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "DOT"

    // $ANTLR start "L_TRIANGULAR"
    public final void mL_TRIANGULAR() throws RecognitionException {
        try {
            int _type = L_TRIANGULAR;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:83:17: ( '<' )
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:83:19: '<'
            {
            match('<'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "L_TRIANGULAR"

    // $ANTLR start "R_TRIANGULAR"
    public final void mR_TRIANGULAR() throws RecognitionException {
        try {
            int _type = R_TRIANGULAR;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:84:17: ( '>' )
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:84:19: '>'
            {
            match('>'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "R_TRIANGULAR"

    // $ANTLR start "L_PARENTHESIS"
    public final void mL_PARENTHESIS() throws RecognitionException {
        try {
            int _type = L_PARENTHESIS;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:85:17: ( '(' )
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:85:19: '('
            {
            match('('); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "L_PARENTHESIS"

    // $ANTLR start "R_PARENTHESIS"
    public final void mR_PARENTHESIS() throws RecognitionException {
        try {
            int _type = R_PARENTHESIS;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:86:17: ( ')' )
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:86:19: ')'
            {
            match(')'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "R_PARENTHESIS"

    // $ANTLR start "L_BRACKET"
    public final void mL_BRACKET() throws RecognitionException {
        try {
            int _type = L_BRACKET;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:87:17: ( '[' )
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:87:19: '['
            {
            match('['); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "L_BRACKET"

    // $ANTLR start "R_BRACKET"
    public final void mR_BRACKET() throws RecognitionException {
        try {
            int _type = R_BRACKET;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:88:17: ( ']' )
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:88:19: ']'
            {
            match(']'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "R_BRACKET"

    // $ANTLR start "PLUS"
    public final void mPLUS() throws RecognitionException {
        try {
            int _type = PLUS;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:89:17: ( '+' )
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:89:19: '+'
            {
            match('+'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "PLUS"

    // $ANTLR start "COMMA"
    public final void mCOMMA() throws RecognitionException {
        try {
            int _type = COMMA;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:90:17: ( ',' )
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:90:19: ','
            {
            match(','); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "COMMA"

    // $ANTLR start "TERE"
    public final void mTERE() throws RecognitionException {
        try {
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:93:17: ( '-' )
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:93:19: '-'
            {
            match('-'); 

            }


        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "TERE"

    // $ANTLR start "SHARP"
    public final void mSHARP() throws RecognitionException {
        try {
            int _type = SHARP;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:93:17: ( '#' )
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:93:19: '#'
            {
            match('#'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "SHARP"

    // $ANTLR start "DOUBLESHARP"
    public final void mDOUBLESHARP() throws RecognitionException {
        try {
            int _type = DOUBLESHARP;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:94:17: ( '##' )
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:94:19: '##'
            {
            match("##"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "DOUBLESHARP"

    // $ANTLR start "STAR"
    public final void mSTAR() throws RecognitionException {
        try {
            int _type = STAR;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:95:17: ( '*' )
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:95:19: '*'
            {
            match('*'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "STAR"

    // $ANTLR start "COLON"
    public final void mCOLON() throws RecognitionException {
        try {
            int _type = COLON;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:96:17: ( ':' )
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:96:19: ':'
            {
            match(':'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "COLON"

    // $ANTLR start "SEMI"
    public final void mSEMI() throws RecognitionException {
        try {
            int _type = SEMI;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:97:17: ( ';' )
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:97:19: ';'
            {
            match(';'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "SEMI"

    // $ANTLR start "PROC"
    public final void mPROC() throws RecognitionException {
        try {
            int _type = PROC;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:98:17: ( '%' )
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:98:19: '%'
            {
            match('%'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "PROC"

    // $ANTLR start "SLASH"
    public final void mSLASH() throws RecognitionException {
        try {
            int _type = SLASH;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:99:17: ( '/' )
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:99:19: '/'
            {
            match('/'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "SLASH"

    // $ANTLR start "LONG_SLASH"
    public final void mLONG_SLASH() throws RecognitionException {
        try {
            int _type = LONG_SLASH;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:100:17: ( ' / ' )
            // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:100:19: ' / '
            {
            match(" / "); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "LONG_SLASH"

    public void mTokens() throws RecognitionException {
        // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:1:8: ( HEADER | ALTERNAT_HEADER | TRANSCRIPTION | REFERENCE | EXAMPLE | FIXED_EXAMPLE | NUM_FIXED_EXAMPLE | REF_CLAS | PORTU_WORD | NUMERATION | SUB_NUMERATION | TOCLASSIF | LABEL | VEJA | COMMENT | SIN | VAR | PART_IRREG | COMMENT_IN_SIMPLE | CUSTOM | HOMONYM | SIMPLE | WS | DOT | L_TRIANGULAR | R_TRIANGULAR | L_PARENTHESIS | R_PARENTHESIS | L_BRACKET | R_BRACKET | PLUS | COMMA | SHARP | DOUBLESHARP | STAR | COLON | SEMI | PROC | SLASH | LONG_SLASH )
        int alt42=40;
        alt42 = dfa42.predict(input);
        switch (alt42) {
            case 1 :
                // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:1:10: HEADER
                {
                mHEADER(); 


                }
                break;
            case 2 :
                // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:1:17: ALTERNAT_HEADER
                {
                mALTERNAT_HEADER(); 


                }
                break;
            case 3 :
                // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:1:33: TRANSCRIPTION
                {
                mTRANSCRIPTION(); 


                }
                break;
            case 4 :
                // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:1:47: REFERENCE
                {
                mREFERENCE(); 


                }
                break;
            case 5 :
                // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:1:57: EXAMPLE
                {
                mEXAMPLE(); 


                }
                break;
            case 6 :
                // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:1:65: FIXED_EXAMPLE
                {
                mFIXED_EXAMPLE(); 


                }
                break;
            case 7 :
                // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:1:79: NUM_FIXED_EXAMPLE
                {
                mNUM_FIXED_EXAMPLE(); 


                }
                break;
            case 8 :
                // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:1:97: REF_CLAS
                {
                mREF_CLAS(); 


                }
                break;
            case 9 :
                // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:1:106: PORTU_WORD
                {
                mPORTU_WORD(); 


                }
                break;
            case 10 :
                // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:1:117: NUMERATION
                {
                mNUMERATION(); 


                }
                break;
            case 11 :
                // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:1:128: SUB_NUMERATION
                {
                mSUB_NUMERATION(); 


                }
                break;
            case 12 :
                // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:1:143: TOCLASSIF
                {
                mTOCLASSIF(); 


                }
                break;
            case 13 :
                // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:1:153: LABEL
                {
                mLABEL(); 


                }
                break;
            case 14 :
                // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:1:159: VEJA
                {
                mVEJA(); 


                }
                break;
            case 15 :
                // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:1:164: COMMENT
                {
                mCOMMENT(); 


                }
                break;
            case 16 :
                // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:1:172: SIN
                {
                mSIN(); 


                }
                break;
            case 17 :
                // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:1:176: VAR
                {
                mVAR(); 


                }
                break;
            case 18 :
                // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:1:180: PART_IRREG
                {
                mPART_IRREG(); 


                }
                break;
            case 19 :
                // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:1:191: COMMENT_IN_SIMPLE
                {
                mCOMMENT_IN_SIMPLE(); 


                }
                break;
            case 20 :
                // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:1:209: CUSTOM
                {
                mCUSTOM(); 


                }
                break;
            case 21 :
                // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:1:216: HOMONYM
                {
                mHOMONYM(); 


                }
                break;
            case 22 :
                // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:1:224: SIMPLE
                {
                mSIMPLE(); 


                }
                break;
            case 23 :
                // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:1:231: WS
                {
                mWS(); 


                }
                break;
            case 24 :
                // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:1:234: DOT
                {
                mDOT(); 


                }
                break;
            case 25 :
                // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:1:238: L_TRIANGULAR
                {
                mL_TRIANGULAR(); 


                }
                break;
            case 26 :
                // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:1:251: R_TRIANGULAR
                {
                mR_TRIANGULAR(); 


                }
                break;
            case 27 :
                // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:1:264: L_PARENTHESIS
                {
                mL_PARENTHESIS(); 


                }
                break;
            case 28 :
                // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:1:278: R_PARENTHESIS
                {
                mR_PARENTHESIS(); 


                }
                break;
            case 29 :
                // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:1:292: L_BRACKET
                {
                mL_BRACKET(); 


                }
                break;
            case 30 :
                // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:1:302: R_BRACKET
                {
                mR_BRACKET(); 


                }
                break;
            case 31 :
                // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:1:312: PLUS
                {
                mPLUS(); 


                }
                break;
            case 32 :
                // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:1:317: COMMA
                {
                mCOMMA(); 


                }
                break;
            case 33 :
                // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:1:323: SHARP
                {
                mSHARP(); 


                }
                break;
            case 34 :
                // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:1:329: DOUBLESHARP
                {
                mDOUBLESHARP(); 


                }
                break;
            case 35 :
                // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:1:341: STAR
                {
                mSTAR(); 


                }
                break;
            case 36 :
                // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:1:346: COLON
                {
                mCOLON(); 


                }
                break;
            case 37 :
                // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:1:352: SEMI
                {
                mSEMI(); 


                }
                break;
            case 38 :
                // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:1:357: PROC
                {
                mPROC(); 


                }
                break;
            case 39 :
                // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:1:362: SLASH
                {
                mSLASH(); 


                }
                break;
            case 40 :
                // D:\\Java\\oop-example\\oop-example\\src\\antlr\\MultiFar.g:1:368: LONG_SLASH
                {
                mLONG_SLASH(); 


                }
                break;

        }

    }


    protected DFA42 dfa42 = new DFA42(this);
    static final String DFA42_eotS =
        "\1\uffff\1\34\1\35\2\uffff\1\42\1\uffff\2\6\2\uffff\1\46\6\uffff"+
        "\1\50\21\uffff\1\6\12\uffff\2\6\27\uffff\1\6\55\uffff\1\160\45\uffff";
    static final String DFA42_eofS =
        "\u009c\uffff";
    static final String DFA42_minS =
        "\1\40\1\103\1\50\1\55\1\41\1\40\1\uffff\1\51\1\145\2\uffff\1\57"+
        "\6\uffff\1\43\5\uffff\1\40\1\76\1\uffff\1\61\3\uffff\1\55\4\uffff"+
        "\1\152\4\uffff\1\163\2\40\2\uffff\1\55\1\141\1\40\1\164\1\41\15"+
        "\40\1\uffff\3\40\1\uffff\1\40\1\55\2\40\1\uffff\1\171\10\40\2\uffff"+
        "\1\41\1\uffff\12\40\1\154\5\40\1\145\2\uffff\1\40\1\57\1\40\1\75"+
        "\1\40\1\151\1\uffff\1\47\1\40\1\76\1\143\2\40\1\157\1\40\1\154\1"+
        "\40\1\157\1\40\1\162\1\uffff\1\72\1\141\1\161\1\165\1\141\1\47\1"+
        "\76\2\41\1\57\1\40\1\165\1\142\1\55\1\160\1\76\2\uffff\1\76\1\uffff"+
        "\1\60\1\74\1\57\1\163\1\165\1\160\1\76\1\54\1\57";
    static final String DFA42_maxS =
        "\1\u2192\1\151\2\u2019\1\u2192\1\u2019\1\uffff\1\51\1\145\2\uffff"+
        "\1\57\6\uffff\1\43\5\uffff\2\76\1\uffff\1\157\3\uffff\1\u2019\4"+
        "\uffff\1\162\4\uffff\1\163\2\u2019\2\uffff\1\u2019\1\141\1\40\1"+
        "\164\1\77\15\u2019\1\uffff\3\u2019\1\uffff\3\u2019\1\40\1\uffff"+
        "\1\171\10\u2019\2\uffff\1\77\1\uffff\12\u2019\1\154\5\u2019\1\145"+
        "\2\uffff\1\u2019\1\57\1\u2019\1\75\1\u2019\1\151\1\uffff\1\47\1"+
        "\u2019\1\76\1\143\1\u2019\1\40\1\157\1\u2019\1\154\1\u2019\1\157"+
        "\1\u2019\1\162\1\uffff\1\72\1\141\1\161\1\165\1\141\1\47\1\76\2"+
        "\u2019\1\163\1\40\1\165\1\142\1\u2019\1\160\1\76\2\uffff\1\76\1"+
        "\uffff\1\71\1\74\1\57\1\163\1\165\1\160\1\76\1\74\1\57";
    static final String DFA42_acceptS =
        "\6\uffff\1\11\2\uffff\1\23\1\26\1\uffff\1\30\1\32\1\34\1\36\1\37"+
        "\1\40\1\uffff\1\43\1\44\1\45\1\46\1\47\2\uffff\1\14\1\uffff\1\31"+
        "\1\35\1\3\1\uffff\1\4\1\10\1\33\1\13\1\uffff\1\50\1\27\1\42\1\41"+
        "\3\uffff\1\24\1\25\22\uffff\1\15\3\uffff\1\5\4\uffff\1\16\11\uffff"+
        "\1\12\1\6\1\uffff\1\7\21\uffff\1\20\1\21\6\uffff\1\17\15\uffff\1"+
        "\22\20\uffff\1\1\1\2\1\uffff\1\1\11\uffff";
    static final String DFA42_specialS =
        "\u009c\uffff}>";
    static final String[] DFA42_transitionS = {
            "\1\13\2\uffff\1\22\1\uffff\1\26\2\uffff\1\5\1\16\1\23\1\20\1"+
            "\21\1\uffff\1\14\1\27\1\uffff\2\6\7\uffff\1\24\1\25\1\1\1\uffff"+
            "\1\15\1\uffff\1\4\25\6\1\10\4\6\1\2\1\uffff\1\17\1\11\2\uffff"+
            "\30\7\2\6\3\uffff\1\12\53\uffff\1\6\17\uffff\1\6\5\uffff\4\6"+
            "\3\uffff\4\6\1\uffff\2\6\1\uffff\1\6\1\uffff\5\6\3\uffff\2\6"+
            "\1\uffff\1\6\3\uffff\4\6\3\uffff\4\6\1\uffff\2\6\1\uffff\1\6"+
            "\1\uffff\5\6\3\uffff\2\6\1\uffff\1\6\u0207\uffff\1\6\u1d14\uffff"+
            "\1\6\u0178\uffff\1\3",
            "\1\32\36\uffff\1\30\5\uffff\1\33\1\31",
            "\2\36\2\uffff\1\36\15\uffff\1\36\1\uffff\1\36\44\uffff\32\36"+
            "\71\uffff\1\36\54\uffff\1\36\13\uffff\1\36\3\uffff\1\36\u0191"+
            "\uffff\1\36\u0080\uffff\1\36\u00b3\uffff\1\36\2\uffff\1\36\u1c5d"+
            "\uffff\1\36",
            "\1\40\23\uffff\25\40\1\37\4\40\6\uffff\32\40\57\uffff\1\40"+
            "\17\uffff\1\40\5\uffff\4\40\3\uffff\4\40\1\uffff\2\40\1\uffff"+
            "\1\40\1\uffff\5\40\3\uffff\2\40\1\uffff\1\40\3\uffff\4\40\3"+
            "\uffff\4\40\1\uffff\2\40\1\uffff\1\40\1\uffff\5\40\3\uffff\2"+
            "\40\1\uffff\1\40\u0207\uffff\1\40\u1d14\uffff\1\40",
            "\1\6\12\uffff\4\6\12\uffff\3\6\2\uffff\1\6\u2152\uffff\1\41",
            "\1\6\13\uffff\2\6\23\uffff\32\6\6\uffff\32\6\57\uffff\1\6\17"+
            "\uffff\1\6\5\uffff\4\6\3\uffff\4\6\1\uffff\2\6\1\uffff\1\6\1"+
            "\uffff\5\6\3\uffff\2\6\1\uffff\1\6\3\uffff\4\6\3\uffff\4\6\1"+
            "\uffff\2\6\1\uffff\1\6\1\uffff\5\6\3\uffff\2\6\1\uffff\1\6\u0207"+
            "\uffff\1\6\u1d14\uffff\1\6",
            "",
            "\1\43",
            "\1\44",
            "",
            "",
            "\1\45",
            "",
            "",
            "",
            "",
            "",
            "",
            "\1\47",
            "",
            "",
            "",
            "",
            "",
            "\1\51\35\uffff\1\52",
            "\1\53",
            "",
            "\1\54\75\uffff\1\55",
            "",
            "",
            "",
            "\2\40\22\uffff\32\40\6\uffff\4\40\1\56\25\40\57\uffff\1\40"+
            "\17\uffff\1\40\5\uffff\4\40\3\uffff\4\40\1\uffff\2\40\1\uffff"+
            "\1\40\1\uffff\5\40\3\uffff\2\40\1\uffff\1\40\3\uffff\4\40\3"+
            "\uffff\4\40\1\uffff\2\40\1\uffff\1\40\1\uffff\5\40\3\uffff\2"+
            "\40\1\uffff\1\40\u0207\uffff\1\40\u1d14\uffff\1\40",
            "",
            "",
            "",
            "",
            "\1\57\7\uffff\1\60",
            "",
            "",
            "",
            "",
            "\1\61",
            "\1\71\1\75\1\77\5\uffff\1\73\1\74\2\uffff\1\70\1\72\2\uffff"+
            "\12\66\5\uffff\1\76\1\62\32\67\6\uffff\32\67\46\uffff\1\64\10"+
            "\uffff\1\67\17\uffff\1\67\4\uffff\1\65\4\67\3\uffff\4\67\1\uffff"+
            "\2\67\1\uffff\1\67\1\uffff\5\67\3\uffff\2\67\1\uffff\1\67\3"+
            "\uffff\4\67\3\uffff\4\67\1\uffff\2\67\1\uffff\1\67\1\uffff\5"+
            "\67\3\uffff\2\67\1\uffff\1\67\u0207\uffff\1\67\u1d14\uffff\1"+
            "\63",
            "\3\104\5\uffff\1\105\1\104\2\uffff\2\104\2\uffff\12\104\5\uffff"+
            "\21\104\1\103\2\104\1\101\2\104\1\102\4\104\6\uffff\32\104\1"+
            "\100\45\uffff\1\104\10\uffff\1\104\17\uffff\1\104\4\uffff\5"+
            "\104\3\uffff\4\104\1\uffff\2\104\1\uffff\1\104\1\uffff\5\104"+
            "\3\uffff\2\104\1\uffff\1\104\3\uffff\4\104\3\uffff\4\104\1\uffff"+
            "\2\104\1\uffff\1\104\1\uffff\5\104\3\uffff\2\104\1\uffff\1\104"+
            "\u0207\uffff\1\104\u1d14\uffff\1\104",
            "",
            "",
            "\2\40\22\uffff\32\40\6\uffff\11\40\1\106\7\40\1\107\10\40\57"+
            "\uffff\1\40\17\uffff\1\40\5\uffff\4\40\3\uffff\4\40\1\uffff"+
            "\2\40\1\uffff\1\40\1\uffff\5\40\3\uffff\2\40\1\uffff\1\40\3"+
            "\uffff\4\40\3\uffff\4\40\1\uffff\2\40\1\uffff\1\40\1\uffff\5"+
            "\40\3\uffff\2\40\1\uffff\1\40\u0207\uffff\1\40\u1d14\uffff\1"+
            "\40",
            "\1\110",
            "\1\111",
            "\1\112",
            "\1\121\12\uffff\1\114\1\116\1\113\1\117\1\uffff\11\123\1\115"+
            "\1\120\3\uffff\1\122",
            "\1\71\1\75\1\77\5\uffff\1\73\1\74\2\uffff\1\70\1\72\1\uffff"+
            "\1\124\12\66\1\126\1\uffff\1\124\2\uffff\1\76\1\125\32\67\6"+
            "\uffff\32\67\46\uffff\1\64\10\uffff\1\67\17\uffff\1\67\4\uffff"+
            "\1\65\4\67\3\uffff\4\67\1\uffff\2\67\1\uffff\1\67\1\uffff\5"+
            "\67\3\uffff\2\67\1\uffff\1\67\3\uffff\4\67\3\uffff\4\67\1\uffff"+
            "\2\67\1\uffff\1\67\1\uffff\5\67\3\uffff\2\67\1\uffff\1\67\u0207"+
            "\uffff\1\67\u1d14\uffff\1\63",
            "\1\71\1\75\1\77\5\uffff\1\73\1\74\2\uffff\1\70\1\72\1\uffff"+
            "\1\124\12\66\1\126\1\uffff\1\124\2\uffff\1\76\1\125\32\67\6"+
            "\uffff\32\67\46\uffff\1\64\10\uffff\1\67\17\uffff\1\67\4\uffff"+
            "\1\65\4\67\3\uffff\4\67\1\uffff\2\67\1\uffff\1\67\1\uffff\5"+
            "\67\3\uffff\2\67\1\uffff\1\67\3\uffff\4\67\3\uffff\4\67\1\uffff"+
            "\2\67\1\uffff\1\67\1\uffff\5\67\3\uffff\2\67\1\uffff\1\67\u0207"+
            "\uffff\1\67\u1d14\uffff\1\63",
            "\1\71\1\75\1\77\5\uffff\1\73\1\74\2\uffff\1\70\1\72\1\uffff"+
            "\1\124\12\66\1\126\1\uffff\1\124\2\uffff\1\76\1\125\32\67\6"+
            "\uffff\32\67\46\uffff\1\64\10\uffff\1\67\17\uffff\1\67\4\uffff"+
            "\1\65\4\67\3\uffff\4\67\1\uffff\2\67\1\uffff\1\67\1\uffff\5"+
            "\67\3\uffff\2\67\1\uffff\1\67\3\uffff\4\67\3\uffff\4\67\1\uffff"+
            "\2\67\1\uffff\1\67\1\uffff\5\67\3\uffff\2\67\1\uffff\1\67\u0207"+
            "\uffff\1\67\u1d14\uffff\1\63",
            "\1\71\1\75\1\77\5\uffff\1\73\1\74\2\uffff\1\70\1\72\1\uffff"+
            "\1\124\12\66\1\126\1\uffff\1\124\2\uffff\1\76\1\125\32\67\6"+
            "\uffff\32\67\46\uffff\1\64\10\uffff\1\67\17\uffff\1\67\4\uffff"+
            "\1\65\4\67\3\uffff\4\67\1\uffff\2\67\1\uffff\1\67\1\uffff\5"+
            "\67\3\uffff\2\67\1\uffff\1\67\3\uffff\4\67\3\uffff\4\67\1\uffff"+
            "\2\67\1\uffff\1\67\1\uffff\5\67\3\uffff\2\67\1\uffff\1\67\u0207"+
            "\uffff\1\67\u1d14\uffff\1\63",
            "\1\71\1\75\1\77\5\uffff\1\73\1\74\2\uffff\1\70\1\72\1\uffff"+
            "\1\124\12\66\1\126\1\uffff\1\124\2\uffff\1\76\1\125\32\67\6"+
            "\uffff\32\67\46\uffff\1\64\10\uffff\1\67\17\uffff\1\67\4\uffff"+
            "\1\65\4\67\3\uffff\4\67\1\uffff\2\67\1\uffff\1\67\1\uffff\5"+
            "\67\3\uffff\2\67\1\uffff\1\67\3\uffff\4\67\3\uffff\4\67\1\uffff"+
            "\2\67\1\uffff\1\67\1\uffff\5\67\3\uffff\2\67\1\uffff\1\67\u0207"+
            "\uffff\1\67\u1d14\uffff\1\63",
            "\1\71\1\75\1\77\5\uffff\1\73\1\74\2\uffff\1\70\1\72\1\uffff"+
            "\1\124\12\66\1\126\1\uffff\1\124\2\uffff\1\76\1\125\32\67\6"+
            "\uffff\32\67\46\uffff\1\64\10\uffff\1\67\17\uffff\1\67\4\uffff"+
            "\1\65\4\67\3\uffff\4\67\1\uffff\2\67\1\uffff\1\67\1\uffff\5"+
            "\67\3\uffff\2\67\1\uffff\1\67\3\uffff\4\67\3\uffff\4\67\1\uffff"+
            "\2\67\1\uffff\1\67\1\uffff\5\67\3\uffff\2\67\1\uffff\1\67\u0207"+
            "\uffff\1\67\u1d14\uffff\1\63",
            "\1\71\1\75\1\77\5\uffff\1\73\1\74\2\uffff\1\70\1\72\1\uffff"+
            "\1\124\12\66\1\126\1\uffff\1\124\2\uffff\1\76\1\125\32\67\6"+
            "\uffff\32\67\46\uffff\1\64\10\uffff\1\67\17\uffff\1\67\4\uffff"+
            "\1\65\4\67\3\uffff\4\67\1\uffff\2\67\1\uffff\1\67\1\uffff\5"+
            "\67\3\uffff\2\67\1\uffff\1\67\3\uffff\4\67\3\uffff\4\67\1\uffff"+
            "\2\67\1\uffff\1\67\1\uffff\5\67\3\uffff\2\67\1\uffff\1\67\u0207"+
            "\uffff\1\67\u1d14\uffff\1\63",
            "\1\71\1\75\1\77\5\uffff\1\73\1\74\2\uffff\1\70\1\72\1\uffff"+
            "\1\124\12\66\1\126\1\uffff\1\124\2\uffff\1\76\1\125\32\67\6"+
            "\uffff\32\67\46\uffff\1\64\10\uffff\1\67\17\uffff\1\67\4\uffff"+
            "\1\65\4\67\3\uffff\4\67\1\uffff\2\67\1\uffff\1\67\1\uffff\5"+
            "\67\3\uffff\2\67\1\uffff\1\67\3\uffff\4\67\3\uffff\4\67\1\uffff"+
            "\2\67\1\uffff\1\67\1\uffff\5\67\3\uffff\2\67\1\uffff\1\67\u0207"+
            "\uffff\1\67\u1d14\uffff\1\63",
            "\1\71\1\75\1\77\5\uffff\1\73\1\74\2\uffff\1\70\1\72\1\uffff"+
            "\1\124\12\66\1\126\1\uffff\1\124\2\uffff\1\76\1\125\32\67\6"+
            "\uffff\32\67\46\uffff\1\64\10\uffff\1\67\17\uffff\1\67\4\uffff"+
            "\1\65\4\67\3\uffff\4\67\1\uffff\2\67\1\uffff\1\67\1\uffff\5"+
            "\67\3\uffff\2\67\1\uffff\1\67\3\uffff\4\67\3\uffff\4\67\1\uffff"+
            "\2\67\1\uffff\1\67\1\uffff\5\67\3\uffff\2\67\1\uffff\1\67\u0207"+
            "\uffff\1\67\u1d14\uffff\1\63",
            "\1\71\1\75\1\77\5\uffff\1\73\1\74\2\uffff\1\70\1\72\1\uffff"+
            "\1\124\12\66\1\126\1\uffff\1\124\2\uffff\1\76\1\125\32\67\6"+
            "\uffff\32\67\46\uffff\1\64\10\uffff\1\67\17\uffff\1\67\4\uffff"+
            "\1\65\4\67\3\uffff\4\67\1\uffff\2\67\1\uffff\1\67\1\uffff\5"+
            "\67\3\uffff\2\67\1\uffff\1\67\3\uffff\4\67\3\uffff\4\67\1\uffff"+
            "\2\67\1\uffff\1\67\1\uffff\5\67\3\uffff\2\67\1\uffff\1\67\u0207"+
            "\uffff\1\67\u1d14\uffff\1\63",
            "\1\71\1\75\1\77\5\uffff\1\73\1\74\2\uffff\1\70\1\72\1\uffff"+
            "\1\124\12\66\1\126\1\uffff\1\124\2\uffff\1\76\1\125\32\67\6"+
            "\uffff\32\67\46\uffff\1\64\10\uffff\1\67\17\uffff\1\67\4\uffff"+
            "\1\65\4\67\3\uffff\4\67\1\uffff\2\67\1\uffff\1\67\1\uffff\5"+
            "\67\3\uffff\2\67\1\uffff\1\67\3\uffff\4\67\3\uffff\4\67\1\uffff"+
            "\2\67\1\uffff\1\67\1\uffff\5\67\3\uffff\2\67\1\uffff\1\67\u0207"+
            "\uffff\1\67\u1d14\uffff\1\63",
            "\1\71\1\75\1\77\5\uffff\1\73\1\74\2\uffff\1\70\1\72\1\uffff"+
            "\1\124\12\66\1\126\1\uffff\1\124\2\uffff\1\76\1\125\32\67\6"+
            "\uffff\32\67\46\uffff\1\64\10\uffff\1\67\17\uffff\1\67\4\uffff"+
            "\1\65\4\67\3\uffff\4\67\1\uffff\2\67\1\uffff\1\67\1\uffff\5"+
            "\67\3\uffff\2\67\1\uffff\1\67\3\uffff\4\67\3\uffff\4\67\1\uffff"+
            "\2\67\1\uffff\1\67\1\uffff\5\67\3\uffff\2\67\1\uffff\1\67\u0207"+
            "\uffff\1\67\u1d14\uffff\1\63",
            "\1\71\1\75\1\77\5\uffff\1\73\1\74\2\uffff\1\70\1\72\1\uffff"+
            "\1\124\12\66\1\126\1\uffff\1\124\2\uffff\1\76\1\125\32\67\6"+
            "\uffff\32\67\46\uffff\1\64\10\uffff\1\67\17\uffff\1\67\4\uffff"+
            "\1\65\4\67\3\uffff\4\67\1\uffff\2\67\1\uffff\1\67\1\uffff\5"+
            "\67\3\uffff\2\67\1\uffff\1\67\3\uffff\4\67\3\uffff\4\67\1\uffff"+
            "\2\67\1\uffff\1\67\1\uffff\5\67\3\uffff\2\67\1\uffff\1\67\u0207"+
            "\uffff\1\67\u1d14\uffff\1\63",
            "",
            "\3\104\5\uffff\2\104\2\uffff\2\104\1\uffff\13\104\2\uffff\1"+
            "\104\2\uffff\34\104\6\uffff\10\104\1\127\21\104\46\uffff\1\104"+
            "\10\uffff\1\104\17\uffff\1\104\4\uffff\5\104\3\uffff\4\104\1"+
            "\uffff\2\104\1\uffff\1\104\1\uffff\5\104\3\uffff\2\104\1\uffff"+
            "\1\104\3\uffff\4\104\3\uffff\4\104\1\uffff\2\104\1\uffff\1\104"+
            "\1\uffff\5\104\3\uffff\2\104\1\uffff\1\104\u0207\uffff\1\104"+
            "\u1d14\uffff\1\104",
            "\3\104\5\uffff\2\104\2\uffff\2\104\1\uffff\13\104\2\uffff\1"+
            "\104\2\uffff\34\104\6\uffff\1\130\31\104\46\uffff\1\104\10\uffff"+
            "\1\104\17\uffff\1\104\4\uffff\5\104\3\uffff\4\104\1\uffff\2"+
            "\104\1\uffff\1\104\1\uffff\5\104\3\uffff\2\104\1\uffff\1\104"+
            "\3\uffff\4\104\3\uffff\4\104\1\uffff\2\104\1\uffff\1\104\1\uffff"+
            "\5\104\3\uffff\2\104\1\uffff\1\104\u0207\uffff\1\104\u1d14\uffff"+
            "\1\104",
            "\3\104\5\uffff\2\104\2\uffff\2\104\1\uffff\13\104\2\uffff\1"+
            "\104\2\uffff\34\104\6\uffff\1\131\31\104\46\uffff\1\104\10\uffff"+
            "\1\104\17\uffff\1\104\4\uffff\5\104\3\uffff\4\104\1\uffff\2"+
            "\104\1\uffff\1\104\1\uffff\5\104\3\uffff\2\104\1\uffff\1\104"+
            "\3\uffff\4\104\3\uffff\4\104\1\uffff\2\104\1\uffff\1\104\1\uffff"+
            "\5\104\3\uffff\2\104\1\uffff\1\104\u0207\uffff\1\104\u1d14\uffff"+
            "\1\104",
            "",
            "\1\135\2\104\5\uffff\2\104\2\uffff\1\134\1\136\1\uffff\13\104"+
            "\2\uffff\1\104\2\uffff\2\104\32\137\6\uffff\4\137\1\133\25\137"+
            "\46\uffff\1\104\10\uffff\1\137\17\uffff\1\137\4\uffff\1\104"+
            "\4\137\3\uffff\4\137\1\uffff\2\137\1\uffff\1\137\1\uffff\5\137"+
            "\3\uffff\2\137\1\uffff\1\137\3\uffff\4\137\3\uffff\4\137\1\uffff"+
            "\2\137\1\uffff\1\137\1\uffff\5\137\3\uffff\2\137\1\uffff\1\137"+
            "\u0207\uffff\1\137\u1d14\uffff\1\132",
            "\2\40\22\uffff\32\40\6\uffff\1\140\31\40\57\uffff\1\40\17\uffff"+
            "\1\40\5\uffff\4\40\3\uffff\4\40\1\uffff\2\40\1\uffff\1\40\1"+
            "\uffff\5\40\3\uffff\2\40\1\uffff\1\40\3\uffff\4\40\3\uffff\4"+
            "\40\1\uffff\2\40\1\uffff\1\40\1\uffff\5\40\3\uffff\2\40\1\uffff"+
            "\1\40\u0207\uffff\1\40\u1d14\uffff\1\40",
            "\1\111\14\uffff\2\40\22\uffff\32\40\6\uffff\32\40\57\uffff"+
            "\1\40\17\uffff\1\40\5\uffff\4\40\3\uffff\4\40\1\uffff\2\40\1"+
            "\uffff\1\40\1\uffff\5\40\3\uffff\2\40\1\uffff\1\40\3\uffff\4"+
            "\40\3\uffff\4\40\1\uffff\2\40\1\uffff\1\40\1\uffff\5\40\3\uffff"+
            "\2\40\1\uffff\1\40\u0207\uffff\1\40\u1d14\uffff\1\40",
            "\1\111",
            "",
            "\1\141",
            "\1\71\1\75\1\77\5\uffff\1\73\1\74\2\uffff\1\70\1\72\1\uffff"+
            "\1\124\12\66\1\126\1\uffff\1\124\2\uffff\1\76\1\125\32\67\6"+
            "\uffff\32\67\46\uffff\1\64\10\uffff\1\67\17\uffff\1\67\4\uffff"+
            "\1\65\4\67\3\uffff\4\67\1\uffff\2\67\1\uffff\1\67\1\uffff\5"+
            "\67\3\uffff\2\67\1\uffff\1\67\3\uffff\4\67\3\uffff\4\67\1\uffff"+
            "\2\67\1\uffff\1\67\1\uffff\5\67\3\uffff\2\67\1\uffff\1\67\u0207"+
            "\uffff\1\67\u1d14\uffff\1\63",
            "\1\71\1\75\1\77\5\uffff\1\73\1\74\2\uffff\1\70\1\72\1\uffff"+
            "\1\124\12\66\1\126\1\uffff\1\124\2\uffff\1\76\1\125\32\67\6"+
            "\uffff\32\67\46\uffff\1\64\10\uffff\1\67\17\uffff\1\67\4\uffff"+
            "\1\65\4\67\3\uffff\4\67\1\uffff\2\67\1\uffff\1\67\1\uffff\5"+
            "\67\3\uffff\2\67\1\uffff\1\67\3\uffff\4\67\3\uffff\4\67\1\uffff"+
            "\2\67\1\uffff\1\67\1\uffff\5\67\3\uffff\2\67\1\uffff\1\67\u0207"+
            "\uffff\1\67\u1d14\uffff\1\63",
            "\1\71\1\75\1\77\5\uffff\1\73\1\74\2\uffff\1\70\1\72\1\uffff"+
            "\1\124\12\66\1\126\1\uffff\1\124\2\uffff\1\76\1\125\32\67\6"+
            "\uffff\32\67\46\uffff\1\64\10\uffff\1\67\17\uffff\1\67\4\uffff"+
            "\1\65\4\67\3\uffff\4\67\1\uffff\2\67\1\uffff\1\67\1\uffff\5"+
            "\67\3\uffff\2\67\1\uffff\1\67\3\uffff\4\67\3\uffff\4\67\1\uffff"+
            "\2\67\1\uffff\1\67\1\uffff\5\67\3\uffff\2\67\1\uffff\1\67\u0207"+
            "\uffff\1\67\u1d14\uffff\1\63",
            "\1\71\1\75\1\77\5\uffff\1\73\1\74\2\uffff\1\70\1\72\1\uffff"+
            "\1\124\12\66\1\126\1\uffff\1\124\2\uffff\1\76\1\125\32\67\6"+
            "\uffff\32\67\46\uffff\1\64\10\uffff\1\67\17\uffff\1\67\4\uffff"+
            "\1\65\4\67\3\uffff\4\67\1\uffff\2\67\1\uffff\1\67\1\uffff\5"+
            "\67\3\uffff\2\67\1\uffff\1\67\3\uffff\4\67\3\uffff\4\67\1\uffff"+
            "\2\67\1\uffff\1\67\1\uffff\5\67\3\uffff\2\67\1\uffff\1\67\u0207"+
            "\uffff\1\67\u1d14\uffff\1\63",
            "\1\71\1\75\1\77\5\uffff\1\73\1\74\2\uffff\1\70\1\72\1\uffff"+
            "\1\124\12\66\1\126\1\uffff\1\124\2\uffff\1\76\1\125\32\67\6"+
            "\uffff\32\67\46\uffff\1\64\10\uffff\1\67\17\uffff\1\67\4\uffff"+
            "\1\65\4\67\3\uffff\4\67\1\uffff\2\67\1\uffff\1\67\1\uffff\5"+
            "\67\3\uffff\2\67\1\uffff\1\67\3\uffff\4\67\3\uffff\4\67\1\uffff"+
            "\2\67\1\uffff\1\67\1\uffff\5\67\3\uffff\2\67\1\uffff\1\67\u0207"+
            "\uffff\1\67\u1d14\uffff\1\63",
            "\1\71\1\75\1\77\5\uffff\1\73\1\74\2\uffff\1\70\1\72\1\uffff"+
            "\1\124\12\66\1\126\1\uffff\1\124\2\uffff\1\76\1\125\32\67\6"+
            "\uffff\32\67\46\uffff\1\64\10\uffff\1\67\17\uffff\1\67\4\uffff"+
            "\1\65\4\67\3\uffff\4\67\1\uffff\2\67\1\uffff\1\67\1\uffff\5"+
            "\67\3\uffff\2\67\1\uffff\1\67\3\uffff\4\67\3\uffff\4\67\1\uffff"+
            "\2\67\1\uffff\1\67\1\uffff\5\67\3\uffff\2\67\1\uffff\1\67\u0207"+
            "\uffff\1\67\u1d14\uffff\1\63",
            "\1\71\1\75\1\77\5\uffff\1\73\1\74\2\uffff\1\70\1\72\1\uffff"+
            "\1\124\12\66\1\126\1\uffff\1\124\2\uffff\1\76\1\125\32\67\6"+
            "\uffff\32\67\46\uffff\1\64\10\uffff\1\67\17\uffff\1\67\4\uffff"+
            "\1\65\4\67\3\uffff\4\67\1\uffff\2\67\1\uffff\1\67\1\uffff\5"+
            "\67\3\uffff\2\67\1\uffff\1\67\3\uffff\4\67\3\uffff\4\67\1\uffff"+
            "\2\67\1\uffff\1\67\1\uffff\5\67\3\uffff\2\67\1\uffff\1\67\u0207"+
            "\uffff\1\67\u1d14\uffff\1\63",
            "\1\71\1\75\1\77\5\uffff\1\73\1\74\2\uffff\1\70\1\72\1\uffff"+
            "\1\124\12\66\1\126\1\uffff\1\124\2\uffff\1\76\1\125\32\67\6"+
            "\uffff\32\67\46\uffff\1\64\10\uffff\1\67\17\uffff\1\67\4\uffff"+
            "\1\65\4\67\3\uffff\4\67\1\uffff\2\67\1\uffff\1\67\1\uffff\5"+
            "\67\3\uffff\2\67\1\uffff\1\67\3\uffff\4\67\3\uffff\4\67\1\uffff"+
            "\2\67\1\uffff\1\67\1\uffff\5\67\3\uffff\2\67\1\uffff\1\67\u0207"+
            "\uffff\1\67\u1d14\uffff\1\63",
            "",
            "",
            "\1\121\12\uffff\1\114\1\116\1\113\1\117\12\uffff\1\115\1\120"+
            "\3\uffff\1\122",
            "",
            "\3\104\5\uffff\2\104\2\uffff\2\104\1\uffff\13\104\2\uffff\1"+
            "\104\2\uffff\34\104\6\uffff\15\104\1\142\14\104\46\uffff\1\104"+
            "\10\uffff\1\104\17\uffff\1\104\4\uffff\5\104\3\uffff\4\104\1"+
            "\uffff\2\104\1\uffff\1\104\1\uffff\5\104\3\uffff\2\104\1\uffff"+
            "\1\104\3\uffff\4\104\3\uffff\4\104\1\uffff\2\104\1\uffff\1\104"+
            "\1\uffff\5\104\3\uffff\2\104\1\uffff\1\104\u0207\uffff\1\104"+
            "\u1d14\uffff\1\104",
            "\3\104\5\uffff\2\104\2\uffff\2\104\1\uffff\13\104\2\uffff\1"+
            "\104\2\uffff\34\104\6\uffff\21\104\1\143\10\104\46\uffff\1\104"+
            "\10\uffff\1\104\17\uffff\1\104\4\uffff\5\104\3\uffff\4\104\1"+
            "\uffff\2\104\1\uffff\1\104\1\uffff\5\104\3\uffff\2\104\1\uffff"+
            "\1\104\3\uffff\4\104\3\uffff\4\104\1\uffff\2\104\1\uffff\1\104"+
            "\1\uffff\5\104\3\uffff\2\104\1\uffff\1\104\u0207\uffff\1\104"+
            "\u1d14\uffff\1\104",
            "\3\104\5\uffff\2\104\2\uffff\2\104\1\uffff\13\104\2\uffff\1"+
            "\104\2\uffff\34\104\6\uffff\21\104\1\144\10\104\46\uffff\1\104"+
            "\10\uffff\1\104\17\uffff\1\104\4\uffff\5\104\3\uffff\4\104\1"+
            "\uffff\2\104\1\uffff\1\104\1\uffff\5\104\3\uffff\2\104\1\uffff"+
            "\1\104\3\uffff\4\104\3\uffff\4\104\1\uffff\2\104\1\uffff\1\104"+
            "\1\uffff\5\104\3\uffff\2\104\1\uffff\1\104\u0207\uffff\1\104"+
            "\u1d14\uffff\1\104",
            "\1\135\2\104\5\uffff\1\104\1\145\2\uffff\1\134\1\136\1\uffff"+
            "\13\104\2\uffff\1\104\2\uffff\2\104\32\137\6\uffff\4\137\1\133"+
            "\25\137\46\uffff\1\104\10\uffff\1\137\17\uffff\1\137\4\uffff"+
            "\1\104\4\137\3\uffff\4\137\1\uffff\2\137\1\uffff\1\137\1\uffff"+
            "\5\137\3\uffff\2\137\1\uffff\1\137\3\uffff\4\137\3\uffff\4\137"+
            "\1\uffff\2\137\1\uffff\1\137\1\uffff\5\137\3\uffff\2\137\1\uffff"+
            "\1\137\u0207\uffff\1\137\u1d14\uffff\1\132",
            "\1\135\2\104\5\uffff\1\104\1\145\2\uffff\1\134\1\136\1\uffff"+
            "\13\104\2\uffff\1\104\2\uffff\2\104\32\137\6\uffff\4\137\1\133"+
            "\16\137\1\146\6\137\46\uffff\1\104\10\uffff\1\137\17\uffff\1"+
            "\137\4\uffff\1\104\4\137\3\uffff\4\137\1\uffff\2\137\1\uffff"+
            "\1\137\1\uffff\5\137\3\uffff\2\137\1\uffff\1\137\3\uffff\4\137"+
            "\3\uffff\4\137\1\uffff\2\137\1\uffff\1\137\1\uffff\5\137\3\uffff"+
            "\2\137\1\uffff\1\137\u0207\uffff\1\137\u1d14\uffff\1\132",
            "\1\135\2\104\5\uffff\1\104\1\145\2\uffff\1\134\1\136\1\uffff"+
            "\13\104\2\uffff\1\104\2\uffff\2\104\32\137\6\uffff\4\137\1\133"+
            "\25\137\46\uffff\1\104\10\uffff\1\137\17\uffff\1\137\4\uffff"+
            "\1\104\4\137\3\uffff\4\137\1\uffff\2\137\1\uffff\1\137\1\uffff"+
            "\5\137\3\uffff\2\137\1\uffff\1\137\3\uffff\4\137\3\uffff\4\137"+
            "\1\uffff\2\137\1\uffff\1\137\1\uffff\5\137\3\uffff\2\137\1\uffff"+
            "\1\137\u0207\uffff\1\137\u1d14\uffff\1\132",
            "\1\135\2\104\5\uffff\1\104\1\145\2\uffff\1\134\1\136\1\uffff"+
            "\13\104\2\uffff\1\104\2\uffff\2\104\32\137\6\uffff\4\137\1\133"+
            "\25\137\46\uffff\1\104\10\uffff\1\137\17\uffff\1\137\4\uffff"+
            "\1\104\4\137\3\uffff\4\137\1\uffff\2\137\1\uffff\1\137\1\uffff"+
            "\5\137\3\uffff\2\137\1\uffff\1\137\3\uffff\4\137\3\uffff\4\137"+
            "\1\uffff\2\137\1\uffff\1\137\1\uffff\5\137\3\uffff\2\137\1\uffff"+
            "\1\137\u0207\uffff\1\137\u1d14\uffff\1\132",
            "\1\135\2\104\5\uffff\1\104\1\145\2\uffff\1\134\1\136\1\uffff"+
            "\13\104\2\uffff\1\104\2\uffff\2\104\32\137\6\uffff\4\137\1\133"+
            "\25\137\46\uffff\1\104\10\uffff\1\137\17\uffff\1\137\4\uffff"+
            "\1\104\4\137\3\uffff\4\137\1\uffff\2\137\1\uffff\1\137\1\uffff"+
            "\5\137\3\uffff\2\137\1\uffff\1\137\3\uffff\4\137\3\uffff\4\137"+
            "\1\uffff\2\137\1\uffff\1\137\1\uffff\5\137\3\uffff\2\137\1\uffff"+
            "\1\137\u0207\uffff\1\137\u1d14\uffff\1\132",
            "\1\135\2\104\5\uffff\1\104\1\145\2\uffff\1\134\1\136\1\uffff"+
            "\13\104\2\uffff\1\104\2\uffff\2\104\32\137\6\uffff\4\137\1\133"+
            "\25\137\46\uffff\1\104\10\uffff\1\137\17\uffff\1\137\4\uffff"+
            "\1\104\4\137\3\uffff\4\137\1\uffff\2\137\1\uffff\1\137\1\uffff"+
            "\5\137\3\uffff\2\137\1\uffff\1\137\3\uffff\4\137\3\uffff\4\137"+
            "\1\uffff\2\137\1\uffff\1\137\1\uffff\5\137\3\uffff\2\137\1\uffff"+
            "\1\137\u0207\uffff\1\137\u1d14\uffff\1\132",
            "\1\111\14\uffff\2\40\22\uffff\32\40\6\uffff\32\40\57\uffff"+
            "\1\40\17\uffff\1\40\5\uffff\4\40\3\uffff\4\40\1\uffff\2\40\1"+
            "\uffff\1\40\1\uffff\5\40\3\uffff\2\40\1\uffff\1\40\3\uffff\4"+
            "\40\3\uffff\4\40\1\uffff\2\40\1\uffff\1\40\1\uffff\5\40\3\uffff"+
            "\2\40\1\uffff\1\40\u0207\uffff\1\40\u1d14\uffff\1\40",
            "\1\147",
            "\3\104\5\uffff\2\104\2\uffff\2\104\1\uffff\13\104\1\150\1\uffff"+
            "\1\104\2\uffff\34\104\6\uffff\32\104\46\uffff\1\104\10\uffff"+
            "\1\104\17\uffff\1\104\4\uffff\5\104\3\uffff\4\104\1\uffff\2"+
            "\104\1\uffff\1\104\1\uffff\5\104\3\uffff\2\104\1\uffff\1\104"+
            "\3\uffff\4\104\3\uffff\4\104\1\uffff\2\104\1\uffff\1\104\1\uffff"+
            "\5\104\3\uffff\2\104\1\uffff\1\104\u0207\uffff\1\104\u1d14\uffff"+
            "\1\104",
            "\3\104\5\uffff\2\104\2\uffff\2\104\1\uffff\13\104\1\151\1\uffff"+
            "\1\104\2\uffff\34\104\6\uffff\32\104\46\uffff\1\104\10\uffff"+
            "\1\104\17\uffff\1\104\4\uffff\5\104\3\uffff\4\104\1\uffff\2"+
            "\104\1\uffff\1\104\1\uffff\5\104\3\uffff\2\104\1\uffff\1\104"+
            "\3\uffff\4\104\3\uffff\4\104\1\uffff\2\104\1\uffff\1\104\1\uffff"+
            "\5\104\3\uffff\2\104\1\uffff\1\104\u0207\uffff\1\104\u1d14\uffff"+
            "\1\104",
            "\3\104\5\uffff\2\104\2\uffff\2\104\1\uffff\13\104\2\uffff\1"+
            "\104\2\uffff\34\104\6\uffff\23\104\1\152\6\104\46\uffff\1\104"+
            "\10\uffff\1\104\17\uffff\1\104\4\uffff\5\104\3\uffff\4\104\1"+
            "\uffff\2\104\1\uffff\1\104\1\uffff\5\104\3\uffff\2\104\1\uffff"+
            "\1\104\3\uffff\4\104\3\uffff\4\104\1\uffff\2\104\1\uffff\1\104"+
            "\1\uffff\5\104\3\uffff\2\104\1\uffff\1\104\u0207\uffff\1\104"+
            "\u1d14\uffff\1\104",
            "\3\104\5\uffff\2\104\2\uffff\2\104\1\uffff\13\104\2\uffff\1"+
            "\153\2\uffff\34\104\6\uffff\32\104\46\uffff\1\104\10\uffff\1"+
            "\104\17\uffff\1\104\4\uffff\5\104\3\uffff\4\104\1\uffff\2\104"+
            "\1\uffff\1\104\1\uffff\5\104\3\uffff\2\104\1\uffff\1\104\3\uffff"+
            "\4\104\3\uffff\4\104\1\uffff\2\104\1\uffff\1\104\1\uffff\5\104"+
            "\3\uffff\2\104\1\uffff\1\104\u0207\uffff\1\104\u1d14\uffff\1"+
            "\104",
            "\1\135\2\104\5\uffff\1\104\1\145\2\uffff\1\134\1\136\1\uffff"+
            "\13\104\2\uffff\1\104\2\uffff\2\104\32\137\6\uffff\2\137\1\154"+
            "\1\137\1\133\25\137\46\uffff\1\104\10\uffff\1\137\17\uffff\1"+
            "\137\4\uffff\1\104\4\137\3\uffff\4\137\1\uffff\2\137\1\uffff"+
            "\1\137\1\uffff\5\137\3\uffff\2\137\1\uffff\1\137\3\uffff\4\137"+
            "\3\uffff\4\137\1\uffff\2\137\1\uffff\1\137\1\uffff\5\137\3\uffff"+
            "\2\137\1\uffff\1\137\u0207\uffff\1\137\u1d14\uffff\1\132",
            "\1\155",
            "",
            "",
            "\1\156\2\104\5\uffff\2\104\2\uffff\2\104\1\uffff\13\104\2\uffff"+
            "\1\104\2\uffff\34\104\6\uffff\32\104\46\uffff\1\104\10\uffff"+
            "\1\104\17\uffff\1\104\4\uffff\5\104\3\uffff\4\104\1\uffff\2"+
            "\104\1\uffff\1\104\1\uffff\5\104\3\uffff\2\104\1\uffff\1\104"+
            "\3\uffff\4\104\3\uffff\4\104\1\uffff\2\104\1\uffff\1\104\1\uffff"+
            "\5\104\3\uffff\2\104\1\uffff\1\104\u0207\uffff\1\104\u1d14\uffff"+
            "\1\104",
            "\1\157",
            "\1\135\2\104\5\uffff\1\104\1\145\2\uffff\1\134\1\136\1\160"+
            "\13\104\2\uffff\1\104\2\uffff\2\104\32\137\6\uffff\4\137\1\133"+
            "\25\137\46\uffff\1\104\10\uffff\1\137\17\uffff\1\137\4\uffff"+
            "\1\104\4\137\3\uffff\4\137\1\uffff\2\137\1\uffff\1\137\1\uffff"+
            "\5\137\3\uffff\2\137\1\uffff\1\137\3\uffff\4\137\3\uffff\4\137"+
            "\1\uffff\2\137\1\uffff\1\137\1\uffff\5\137\3\uffff\2\137\1\uffff"+
            "\1\137\u0207\uffff\1\137\u1d14\uffff\1\132",
            "\1\161",
            "\3\104\5\uffff\2\104\2\uffff\2\104\1\uffff\13\104\2\uffff\1"+
            "\104\2\uffff\34\104\6\uffff\10\104\1\162\21\104\46\uffff\1\104"+
            "\10\uffff\1\104\17\uffff\1\104\4\uffff\5\104\3\uffff\4\104\1"+
            "\uffff\2\104\1\uffff\1\104\1\uffff\5\104\3\uffff\2\104\1\uffff"+
            "\1\104\3\uffff\4\104\3\uffff\4\104\1\uffff\2\104\1\uffff\1\104"+
            "\1\uffff\5\104\3\uffff\2\104\1\uffff\1\104\u0207\uffff\1\104"+
            "\u1d14\uffff\1\104",
            "\1\163",
            "",
            "\1\164",
            "\3\104\5\uffff\2\104\2\uffff\2\104\1\uffff\13\104\2\uffff\1"+
            "\104\2\uffff\34\104\6\uffff\21\104\1\165\10\104\46\uffff\1\104"+
            "\10\uffff\1\104\17\uffff\1\104\4\uffff\5\104\3\uffff\4\104\1"+
            "\uffff\2\104\1\uffff\1\104\1\uffff\5\104\3\uffff\2\104\1\uffff"+
            "\1\104\3\uffff\4\104\3\uffff\4\104\1\uffff\2\104\1\uffff\1\104"+
            "\1\uffff\5\104\3\uffff\2\104\1\uffff\1\104\u0207\uffff\1\104"+
            "\u1d14\uffff\1\104",
            "\1\166",
            "\1\167",
            "\3\104\5\uffff\2\104\2\uffff\2\104\1\uffff\13\104\2\uffff\1"+
            "\104\2\uffff\34\104\6\uffff\21\104\1\170\10\104\46\uffff\1\104"+
            "\10\uffff\1\104\17\uffff\1\104\4\uffff\5\104\3\uffff\4\104\1"+
            "\uffff\2\104\1\uffff\1\104\1\uffff\5\104\3\uffff\2\104\1\uffff"+
            "\1\104\3\uffff\4\104\3\uffff\4\104\1\uffff\2\104\1\uffff\1\104"+
            "\1\uffff\5\104\3\uffff\2\104\1\uffff\1\104\u0207\uffff\1\104"+
            "\u1d14\uffff\1\104",
            "\1\104",
            "\1\171",
            "\3\104\5\uffff\2\104\2\uffff\2\104\1\uffff\13\104\2\uffff\1"+
            "\104\2\uffff\34\104\6\uffff\4\104\1\172\25\104\46\uffff\1\104"+
            "\10\uffff\1\104\17\uffff\1\104\4\uffff\5\104\3\uffff\4\104\1"+
            "\uffff\2\104\1\uffff\1\104\1\uffff\5\104\3\uffff\2\104\1\uffff"+
            "\1\104\3\uffff\4\104\3\uffff\4\104\1\uffff\2\104\1\uffff\1\104"+
            "\1\uffff\5\104\3\uffff\2\104\1\uffff\1\104\u0207\uffff\1\104"+
            "\u1d14\uffff\1\104",
            "\1\173",
            "\3\104\5\uffff\2\104\2\uffff\2\104\1\uffff\13\104\2\uffff\1"+
            "\104\2\uffff\34\104\6\uffff\6\104\1\174\23\104\46\uffff\1\104"+
            "\10\uffff\1\104\17\uffff\1\104\4\uffff\5\104\3\uffff\4\104\1"+
            "\uffff\2\104\1\uffff\1\104\1\uffff\5\104\3\uffff\2\104\1\uffff"+
            "\1\104\3\uffff\4\104\3\uffff\4\104\1\uffff\2\104\1\uffff\1\104"+
            "\1\uffff\5\104\3\uffff\2\104\1\uffff\1\104\u0207\uffff\1\104"+
            "\u1d14\uffff\1\104",
            "\1\175",
            "\3\104\5\uffff\2\104\2\uffff\2\104\1\uffff\13\104\1\176\1\uffff"+
            "\1\104\2\uffff\34\104\6\uffff\32\104\46\uffff\1\104\10\uffff"+
            "\1\104\17\uffff\1\104\4\uffff\5\104\3\uffff\4\104\1\uffff\2"+
            "\104\1\uffff\1\104\1\uffff\5\104\3\uffff\2\104\1\uffff\1\104"+
            "\3\uffff\4\104\3\uffff\4\104\1\uffff\2\104\1\uffff\1\104\1\uffff"+
            "\5\104\3\uffff\2\104\1\uffff\1\104\u0207\uffff\1\104\u1d14\uffff"+
            "\1\104",
            "\1\177",
            "",
            "\1\u0080",
            "\1\u0081",
            "\1\u0082",
            "\1\u0083",
            "\1\u0084",
            "\1\u0085",
            "\1\u0086",
            "\1\u0087\14\uffff\1\u0087\22\uffff\32\u0087\6\uffff\32\u0087"+
            "\46\uffff\1\u0087\10\uffff\1\u0087\17\uffff\1\u0087\5\uffff"+
            "\4\u0087\3\uffff\4\u0087\1\uffff\2\u0087\1\uffff\1\u0087\1\uffff"+
            "\5\u0087\3\uffff\2\u0087\1\uffff\1\u0087\3\uffff\4\u0087\3\uffff"+
            "\4\u0087\1\uffff\2\u0087\1\uffff\1\u0087\1\uffff\5\u0087\3\uffff"+
            "\2\u0087\1\uffff\1\u0087\u0207\uffff\1\u0087\u1d14\uffff\1\u0087",
            "\1\u0087\12\uffff\1\u0089\1\uffff\1\u0087\15\uffff\1\u0088"+
            "\4\uffff\32\u0087\6\uffff\32\u0087\46\uffff\1\u0087\10\uffff"+
            "\1\u0087\17\uffff\1\u0087\5\uffff\4\u0087\3\uffff\4\u0087\1"+
            "\uffff\2\u0087\1\uffff\1\u0087\1\uffff\5\u0087\3\uffff\2\u0087"+
            "\1\uffff\1\u0087\3\uffff\4\u0087\3\uffff\4\u0087\1\uffff\2\u0087"+
            "\1\uffff\1\u0087\1\uffff\5\u0087\3\uffff\2\u0087\1\uffff\1\u0087"+
            "\u0207\uffff\1\u0087\u1d14\uffff\1\u0087",
            "\1\u008b\103\uffff\1\u008a",
            "\1\u008c",
            "\1\u008d",
            "\1\u008e",
            "\1\u008f\23\uffff\32\u0090\6\uffff\32\u0090\57\uffff\1\u0090"+
            "\17\uffff\1\u0090\5\uffff\4\u0090\3\uffff\4\u0090\1\uffff\2"+
            "\u0090\1\uffff\1\u0090\1\uffff\5\u0090\3\uffff\2\u0090\1\uffff"+
            "\1\u0090\3\uffff\4\u0090\3\uffff\4\u0090\1\uffff\2\u0090\1\uffff"+
            "\1\u0090\1\uffff\5\u0090\3\uffff\2\u0090\1\uffff\1\u0090\u0207"+
            "\uffff\1\u0090\u1d14\uffff\1\u0090",
            "\1\u0091",
            "\1\u0092",
            "",
            "",
            "\1\u0093",
            "",
            "\12\u0094",
            "\1\u0095",
            "\1\u0096",
            "\1\u0097",
            "\1\u0098",
            "\1\u0099",
            "\1\u009a",
            "\1\u0089\17\uffff\1\u009b",
            "\1\u008b"
    };

    static final short[] DFA42_eot = DFA.unpackEncodedString(DFA42_eotS);
    static final short[] DFA42_eof = DFA.unpackEncodedString(DFA42_eofS);
    static final char[] DFA42_min = DFA.unpackEncodedStringToUnsignedChars(DFA42_minS);
    static final char[] DFA42_max = DFA.unpackEncodedStringToUnsignedChars(DFA42_maxS);
    static final short[] DFA42_accept = DFA.unpackEncodedString(DFA42_acceptS);
    static final short[] DFA42_special = DFA.unpackEncodedString(DFA42_specialS);
    static final short[][] DFA42_transition;

    static {
        int numStates = DFA42_transitionS.length;
        DFA42_transition = new short[numStates][];
        for (int i=0; i<numStates; i++) {
            DFA42_transition[i] = DFA.unpackEncodedString(DFA42_transitionS[i]);
        }
    }

    class DFA42 extends DFA {

        public DFA42(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 42;
            this.eot = DFA42_eot;
            this.eof = DFA42_eof;
            this.min = DFA42_min;
            this.max = DFA42_max;
            this.accept = DFA42_accept;
            this.special = DFA42_special;
            this.transition = DFA42_transition;
        }
        public String getDescription() {
            return "1:1: Tokens : ( HEADER | ALTERNAT_HEADER | TRANSCRIPTION | REFERENCE | EXAMPLE | FIXED_EXAMPLE | NUM_FIXED_EXAMPLE | REF_CLAS | PORTU_WORD | NUMERATION | SUB_NUMERATION | TOCLASSIF | LABEL | VEJA | COMMENT | SIN | VAR | PART_IRREG | COMMENT_IN_SIMPLE | CUSTOM | HOMONYM | SIMPLE | WS | DOT | L_TRIANGULAR | R_TRIANGULAR | L_PARENTHESIS | R_PARENTHESIS | L_BRACKET | R_BRACKET | PLUS | COMMA | SHARP | DOUBLESHARP | STAR | COLON | SEMI | PROC | SLASH | LONG_SLASH );";
        }
    }
 

}